From 0d8a3f4f747e3276789916b6feffd657c3a5bafa Mon Sep 17 00:00:00 2001 From: David Benson Date: Thu, 22 Mar 2018 11:27:49 +0000 Subject: [PATCH] 8.4.8 release --- ChangeLog | 7 + VERSION | 2 +- etc/build/build.xml | 1 + etc/mxgraph/mxClient.js | 44 +- .../importer/GliffyDiagramConverter.java | 67 +- .../importer/gliffyTranslation.properties | 332 +- .../mxgraph/io/gliffy/model/GliffyObject.java | 55 +- .../mxgraph/io/gliffy/model/GliffyText.java | 7 + .../com/mxgraph/io/gliffy/model/Graphic.java | 2 + .../java/com/mxgraph/online/ProxyServlet.java | 38 +- src/main/webapp/cache.manifest | 2 +- .../connect/confluence/connectUtils-1-4-8.js | 4 +- .../connect/confluence/viewer-1-4-8.html | 10 +- src/main/webapp/electron.js | 1 - src/main/webapp/images/sidebar-cisco_safe.png | Bin 0 -> 93445 bytes src/main/webapp/js/app.min.js | 1769 +-- src/main/webapp/js/atlas-viewer.min.js | 1122 +- src/main/webapp/js/atlas.min.js | 1671 +-- src/main/webapp/js/diagramly/App.js | 7 +- src/main/webapp/js/diagramly/Devel.js | 1 + src/main/webapp/js/diagramly/Dialogs.js | 2 + src/main/webapp/js/diagramly/Editor.js | 18 +- src/main/webapp/js/diagramly/EditorUi.js | 49 +- src/main/webapp/js/diagramly/GraphViewer.js | 4 +- src/main/webapp/js/diagramly/Pages.js | 4 +- .../js/diagramly/sidebar/Sidebar-Basic.js | 4 +- .../js/diagramly/sidebar/Sidebar-CiscoSafe.js | 426 + .../webapp/js/diagramly/sidebar/Sidebar.js | 9 + src/main/webapp/js/dropbox/Dropbox-sdk.min.js | 10 + src/main/webapp/js/embed-static.min.js | 221 +- src/main/webapp/js/mxgraph/Actions.js | 10 +- src/main/webapp/js/mxgraph/Dialogs.js | 35 +- src/main/webapp/js/mxgraph/Editor.js | 4 +- src/main/webapp/js/mxgraph/EditorUi.js | 15 +- src/main/webapp/js/mxgraph/Format.js | 5 +- src/main/webapp/js/mxgraph/Graph.js | 424 +- src/main/webapp/js/reader.min.js | 221 +- src/main/webapp/js/shapes.min.js | 26 +- src/main/webapp/js/stencils.min.js | 4 + src/main/webapp/js/viewer.min.js | 1122 +- src/main/webapp/plugins/cConf-1-4-8.js | 195 + src/main/webapp/plugins/sql.js | 783 +- src/main/webapp/resources/dia_nl.txt | 12 +- src/main/webapp/shapes/bpmn/mxBpmnShape2.js | 7 + src/main/webapp/shapes/mxBasic.js | 123 + .../stencils/cisco_safe/architecture.xml | 5338 +++++++++ .../webapp/stencils/cisco_safe/capability.xml | 8999 ++++++++++++++++ .../webapp/stencils/cisco_safe/design.xml | 7556 +++++++++++++ .../webapp/stencils/cisco_safe/threat.xml | 9524 +++++++++++++++++ 49 files changed, 36660 insertions(+), 3632 deletions(-) create mode 100644 src/main/webapp/images/sidebar-cisco_safe.png create mode 100644 src/main/webapp/js/diagramly/sidebar/Sidebar-CiscoSafe.js create mode 100644 src/main/webapp/js/dropbox/Dropbox-sdk.min.js create mode 100644 src/main/webapp/plugins/cConf-1-4-8.js create mode 100644 src/main/webapp/stencils/cisco_safe/architecture.xml create mode 100644 src/main/webapp/stencils/cisco_safe/capability.xml create mode 100644 src/main/webapp/stencils/cisco_safe/design.xml create mode 100644 src/main/webapp/stencils/cisco_safe/threat.xml diff --git a/ChangeLog b/ChangeLog index 46295c9c..90eaf7ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +21-MAR-2018: 8.4.8 + +- Gliffy import improvements +- Adds Cisco Safe Stencils +- Adds top, left for CSV import +- Uses mxGraph 3.9.4 beta 3 + 15-MAR-2018: 8.4.7 - Improves Gliffy import diff --git a/VERSION b/VERSION index 6d5aa1b9..5ceea6dd 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.4.7 \ No newline at end of file +8.4.8 \ No newline at end of file diff --git a/etc/build/build.xml b/etc/build/build.xml index eb373908..2905f8f7 100644 --- a/etc/build/build.xml +++ b/etc/build/build.xml @@ -115,6 +115,7 @@ + diff --git a/etc/mxgraph/mxClient.js b/etc/mxgraph/mxClient.js index ac430884..6f9c97ce 100644 --- a/etc/mxgraph/mxClient.js +++ b/etc/mxgraph/mxClient.js @@ -292,8 +292,8 @@ mxXmlCanvas2D.prototype.text=function(a,b,c,d,e,f,g,k,l,m,n,p,q){if(this.textEna m);null!=n&&r.setAttribute("clip",n?"1":"0");null!=p&&r.setAttribute("rotation",p);null!=q&&r.setAttribute("dir",q);this.root.appendChild(r)}};mxXmlCanvas2D.prototype.stroke=function(){this.root.appendChild(this.createElement("stroke"))};mxXmlCanvas2D.prototype.fill=function(){this.root.appendChild(this.createElement("fill"))};mxXmlCanvas2D.prototype.fillAndStroke=function(){this.root.appendChild(this.createElement("fillstroke"))}; function mxSvgCanvas2D(a,b){mxAbstractCanvas2D.call(this);this.root=a;this.gradients=[];this.defs=null;this.styleEnabled=null!=b?b:!1;var c=null;if(a.ownerDocument!=document)for(c=a;null!=c&&"svg"!=c.nodeName;)c=c.parentNode;null!=c&&(0a.alpha||1>a.fillAlpha)&&this.node.setAttribute("fill-opacity",a.alpha*a.fillAlpha);if(null!=a.fillColor)if(null!=a.gradientColor)if(a=this.getSvgGradient(a.fillColor,a.gradientColor,a.gradientFillAlpha,a.gradientAlpha,a.gradientDirection),mxClient.IS_CHROME_APP||mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE||this.root.ownerDocument!=document)this.node.setAttribute("fill","url(#"+a+")");else{var b=this.getBaseUrl().replace(/([\(\)])/g, -"\\$1");this.node.setAttribute("fill","url("+b+"#"+a+")")}else this.node.setAttribute("fill",a.fillColor.toLowerCase())};mxSvgCanvas2D.prototype.getCurrentStrokeWidth=function(){return Math.max(1,this.format(this.state.strokeWidth*this.state.scale))}; +"\\$1");this.node.setAttribute("fill","url("+b+"#"+a+")")}else this.node.setAttribute("fill",a.fillColor.toLowerCase())};mxSvgCanvas2D.prototype.getCurrentStrokeWidth=function(){return Math.max(this.minStrokeWidth,this.format(this.state.strokeWidth*this.state.scale))}; mxSvgCanvas2D.prototype.updateStroke=function(){var a=this.state;this.node.setAttribute("stroke",a.strokeColor.toLowerCase());(1>a.alpha||1>a.strokeAlpha)&&this.node.setAttribute("stroke-opacity",a.alpha*a.strokeAlpha);var b=this.getCurrentStrokeWidth();1!=b&&this.node.setAttribute("stroke-width",b);"path"==this.node.nodeName&&this.updateStrokeAttributes();a.dashed&&this.node.setAttribute("stroke-dasharray",this.createDashPattern((a.fixDash?1:a.strokeWidth)*a.scale))}; mxSvgCanvas2D.prototype.updateStrokeAttributes=function(){var a=this.state;null!=a.lineJoin&&"miter"!=a.lineJoin&&this.node.setAttribute("stroke-linejoin",a.lineJoin);if(null!=a.lineCap){var b=a.lineCap;"flat"==b&&(b="butt");"butt"!=b&&this.node.setAttribute("stroke-linecap",b)}null==a.miterLimit||this.styleEnabled&&10==a.miterLimit||this.node.setAttribute("stroke-miterlimit",a.miterLimit)}; mxSvgCanvas2D.prototype.createDashPattern=function(a){var b=[];if("string"===typeof this.state.dashPattern){var c=this.state.dashPattern.split(" ");if(0this.opacity&&(b+="alpha(opacity="+this.opacity+")");this.isShadow&&(b+="progid:DXImageTransform.Microsoft.dropShadow (OffX='"+Math.round(mxConstants.SHADOW_OFFSET_X*this.scale)+"', OffY='"+Math.round(mxConstants.SHADOW_OFFSET_Y*this.scale)+"', Color='"+mxConstants.VML_SHADOWCOLOR+"')");if(null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE){var c=this.fill,d=this.gradient,e="0",f={east:0,south:1, @@ -906,10 +906,10 @@ k==mxConstants.ALIGN_CENTER&&l==mxConstants.ALIGN_MIDDLE?a.shape.getLabelBounds( c.height=Math.max(d,a.text.boundingBox.height)):(c.width=Math.max(c.width,a.text.boundingBox.width),c.height=Math.max(c.height,a.text.boundingBox.height)));this.graph.getModel().isVertex(a.cell)&&(b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER),b==mxConstants.ALIGN_LEFT?c.x-=a.width:b==mxConstants.ALIGN_RIGHT&&(c.x+=a.width),b=mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE),b==mxConstants.ALIGN_TOP?c.y-=a.height:b== mxConstants.ALIGN_BOTTOM&&(c.y+=a.height))}return new mxRectangle(Math.round(c.x),Math.round(c.y),Math.round(c.width),Math.round(c.height))};mxCellEditor.prototype.getEmptyLabelText=function(a){return this.emptyLabelText};mxCellEditor.prototype.getEditingCell=function(){return this.editingCell}; mxCellEditor.prototype.destroy=function(){null!=this.textarea&&(mxEvent.release(this.textarea),null!=this.textarea.parentNode&&this.textarea.parentNode.removeChild(this.textarea),this.textarea=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);this.zoomHandler&&(this.graph.view.removeListener(this.zoomHandler),this.zoomHandler=null)};function mxCellRenderer(){}mxCellRenderer.defaultShapes={}; -mxCellRenderer.prototype.defaultEdgeShape=mxConnector;mxCellRenderer.prototype.defaultVertexShape=mxRectangleShape;mxCellRenderer.prototype.defaultTextShape=mxText;mxCellRenderer.prototype.legacyControlPosition=!0;mxCellRenderer.prototype.legacySpacing=!0;mxCellRenderer.prototype.antiAlias=!0;mxCellRenderer.prototype.forceControlClickHandler=!1;mxCellRenderer.registerShape=function(a,b){mxCellRenderer.defaultShapes[a]=b};mxCellRenderer.registerShape(mxConstants.SHAPE_RECTANGLE,mxRectangleShape); -mxCellRenderer.registerShape(mxConstants.SHAPE_ELLIPSE,mxEllipse);mxCellRenderer.registerShape(mxConstants.SHAPE_RHOMBUS,mxRhombus);mxCellRenderer.registerShape(mxConstants.SHAPE_CYLINDER,mxCylinder);mxCellRenderer.registerShape(mxConstants.SHAPE_CONNECTOR,mxConnector);mxCellRenderer.registerShape(mxConstants.SHAPE_ACTOR,mxActor);mxCellRenderer.registerShape(mxConstants.SHAPE_TRIANGLE,mxTriangle);mxCellRenderer.registerShape(mxConstants.SHAPE_HEXAGON,mxHexagon); -mxCellRenderer.registerShape(mxConstants.SHAPE_CLOUD,mxCloud);mxCellRenderer.registerShape(mxConstants.SHAPE_LINE,mxLine);mxCellRenderer.registerShape(mxConstants.SHAPE_ARROW,mxArrow);mxCellRenderer.registerShape(mxConstants.SHAPE_ARROW_CONNECTOR,mxArrowConnector);mxCellRenderer.registerShape(mxConstants.SHAPE_DOUBLE_ELLIPSE,mxDoubleEllipse);mxCellRenderer.registerShape(mxConstants.SHAPE_SWIMLANE,mxSwimlane);mxCellRenderer.registerShape(mxConstants.SHAPE_IMAGE,mxImageShape); -mxCellRenderer.registerShape(mxConstants.SHAPE_LABEL,mxLabel);mxCellRenderer.prototype.initializeShape=function(a){a.shape.dialect=a.view.graph.dialect;this.configureShape(a);a.shape.init(a.view.getDrawPane())};mxCellRenderer.prototype.createShape=function(a){var b=null;null!=a.style&&(b=mxStencilRegistry.getStencil(a.style[mxConstants.STYLE_SHAPE]),b=null!=b?new mxShape(b):new (this.getShapeConstructor(a)));return b}; +mxCellRenderer.prototype.defaultEdgeShape=mxConnector;mxCellRenderer.prototype.defaultVertexShape=mxRectangleShape;mxCellRenderer.prototype.defaultTextShape=mxText;mxCellRenderer.prototype.legacyControlPosition=!0;mxCellRenderer.prototype.legacySpacing=!0;mxCellRenderer.prototype.antiAlias=!0;mxCellRenderer.prototype.minSvgStrokeWidth=1;mxCellRenderer.prototype.forceControlClickHandler=!1;mxCellRenderer.registerShape=function(a,b){mxCellRenderer.defaultShapes[a]=b}; +mxCellRenderer.registerShape(mxConstants.SHAPE_RECTANGLE,mxRectangleShape);mxCellRenderer.registerShape(mxConstants.SHAPE_ELLIPSE,mxEllipse);mxCellRenderer.registerShape(mxConstants.SHAPE_RHOMBUS,mxRhombus);mxCellRenderer.registerShape(mxConstants.SHAPE_CYLINDER,mxCylinder);mxCellRenderer.registerShape(mxConstants.SHAPE_CONNECTOR,mxConnector);mxCellRenderer.registerShape(mxConstants.SHAPE_ACTOR,mxActor);mxCellRenderer.registerShape(mxConstants.SHAPE_TRIANGLE,mxTriangle); +mxCellRenderer.registerShape(mxConstants.SHAPE_HEXAGON,mxHexagon);mxCellRenderer.registerShape(mxConstants.SHAPE_CLOUD,mxCloud);mxCellRenderer.registerShape(mxConstants.SHAPE_LINE,mxLine);mxCellRenderer.registerShape(mxConstants.SHAPE_ARROW,mxArrow);mxCellRenderer.registerShape(mxConstants.SHAPE_ARROW_CONNECTOR,mxArrowConnector);mxCellRenderer.registerShape(mxConstants.SHAPE_DOUBLE_ELLIPSE,mxDoubleEllipse);mxCellRenderer.registerShape(mxConstants.SHAPE_SWIMLANE,mxSwimlane); +mxCellRenderer.registerShape(mxConstants.SHAPE_IMAGE,mxImageShape);mxCellRenderer.registerShape(mxConstants.SHAPE_LABEL,mxLabel);mxCellRenderer.prototype.initializeShape=function(a){a.shape.dialect=a.view.graph.dialect;this.configureShape(a);a.shape.init(a.view.getDrawPane())};mxCellRenderer.prototype.createShape=function(a){var b=null;null!=a.style&&(b=mxStencilRegistry.getStencil(a.style[mxConstants.STYLE_SHAPE]),b=null!=b?new mxShape(b):new (this.getShapeConstructor(a)));return b}; mxCellRenderer.prototype.createIndicatorShape=function(a){a.shape.indicatorShape=this.getShape(a.view.graph.getIndicatorShape(a))};mxCellRenderer.prototype.getShape=function(a){return null!=a?mxCellRenderer.defaultShapes[a]:null};mxCellRenderer.prototype.getShapeConstructor=function(a){var b=this.getShape(a.style[mxConstants.STYLE_SHAPE]);null==b&&(b=a.view.graph.getModel().isEdge(a.cell)?this.defaultEdgeShape:this.defaultVertexShape);return b}; mxCellRenderer.prototype.configureShape=function(a){a.shape.apply(a);a.shape.image=a.view.graph.getImage(a);a.shape.indicatorColor=a.view.graph.getIndicatorColor(a);a.shape.indicatorStrokeColor=a.style[mxConstants.STYLE_INDICATOR_STROKECOLOR];a.shape.indicatorGradientColor=a.view.graph.getIndicatorGradientColor(a);a.shape.indicatorDirection=a.style[mxConstants.STYLE_INDICATOR_DIRECTION];a.shape.indicatorImage=a.view.graph.getIndicatorImage(a);this.postConfigureShape(a)}; mxCellRenderer.prototype.postConfigureShape=function(a){null!=a.shape&&(this.resolveColor(a,"indicatorColor",mxConstants.STYLE_FILLCOLOR),this.resolveColor(a,"indicatorGradientColor",mxConstants.STYLE_GRADIENTCOLOR),this.resolveColor(a,"fill",mxConstants.STYLE_FILLCOLOR),this.resolveColor(a,"stroke",mxConstants.STYLE_STROKECOLOR),this.resolveColor(a,"gradient",mxConstants.STYLE_GRADIENTCOLOR))}; @@ -951,9 +951,9 @@ f),g,k,new mxPoint(a.getCenterX(),a.getCenterY())),e=f.x,f=f.y)}return a.view.gr mxCellRenderer.prototype.insertStateAfter=function(a,b,c){for(var d=this.getShapesForState(a),e=0;e=l.x:null!=c&&(k=c.x+c.width=a.x:null!=b&&(l=b.x+b.widththis.minPageBreakDist)?Math.ceil(d.height/f.height)+1:0,k=a?Math.ceil(d.width/f.width)+1:0,l=(k-1)*f.width,m=(g-1)*f.height;null==this.horizontalPageBreaks&&0c.x&&(f-=c.x);0>c.y&&(g-=c.y);if(b.translate.x!=f||b.translate.y!= -g)b.translate.x=f,b.translate.y=g,a=!0;var c=b.translate,d=this.source.getView().scale,f=d/b.scale,g=1/b.scale,k=this.source.container;this.bounds=new mxRectangle((c.x-e.x-this.source.panDx)/g,(c.y-e.y-this.source.panDy)/g,k.clientWidth/f,k.clientHeight/f);this.bounds.x+=this.source.container.scrollLeft*b.scale/d;this.bounds.y+=this.source.container.scrollTop*b.scale/d;c=this.selectionBorder.bounds;if(c.x!=this.bounds.x||c.y!=this.bounds.y||c.width!=this.bounds.width||c.height!=this.bounds.height)this.selectionBorder.bounds= -this.bounds,this.selectionBorder.redraw();c=this.sizer.bounds;b=new mxRectangle(this.bounds.x+this.bounds.width-c.width/2,this.bounds.y+this.bounds.height-c.height/2,c.width,c.height);if(c.x!=b.x||c.y!=b.y||c.width!=b.width||c.height!=b.height)this.sizer.bounds=b,"hidden"!=this.sizer.node.style.visibility&&this.sizer.redraw();a&&this.outline.view.revalidate()}}}; +mxOutline.prototype.update=function(a){if(null!=this.source&&null!=this.source.container&&null!=this.outline&&null!=this.outline.container){var b=this.source.view.scale,c=this.getSourceGraphBounds(),c=new mxRectangle(c.x/b+this.source.panDx,c.y/b+this.source.panDy,c.width/b,c.height/b),d=new mxRectangle(0,0,this.source.container.clientWidth/b,this.source.container.clientHeight/b),e=c.clone();e.add(d);d=this.getSourceContainerSize();b=Math.min(Math.max(0,this.outline.container.clientWidth-this.border)/ +Math.max(d.width/b,e.width),Math.max(0,this.outline.container.clientHeight-this.border)/Math.max(d.height/b,e.height));d=isNaN(b)?this.minScale:Math.max(this.minScale,b);if(0c.x&&(f-=c.x);0>c.y&&(g-=c.y);if(b.translate.x!=f||b.translate.y!=g)b.translate.x=f,b.translate.y=g,a=!0;var c=b.translate,d=this.source.getView().scale,f=d/b.scale,g=1/b.scale,k=this.source.container;this.bounds=new mxRectangle((c.x-e.x-this.source.panDx)/g,(c.y-e.y-this.source.panDy)/g,k.clientWidth/f,k.clientHeight/f);this.bounds.x+=this.source.container.scrollLeft*b.scale/d;this.bounds.y+=this.source.container.scrollTop*b.scale/d;c=this.selectionBorder.bounds;if(c.x!=this.bounds.x|| +c.y!=this.bounds.y||c.width!=this.bounds.width||c.height!=this.bounds.height)this.selectionBorder.bounds=this.bounds,this.selectionBorder.redraw();c=this.sizer.bounds;b=new mxRectangle(this.bounds.x+this.bounds.width-c.width/2,this.bounds.y+this.bounds.height-c.height/2,c.width,c.height);if(c.x!=b.x||c.y!=b.y||c.width!=b.width||c.height!=b.height)this.sizer.bounds=b,"hidden"!=this.sizer.node.style.visibility&&this.sizer.redraw();a&&this.outline.view.revalidate()}}}; mxOutline.prototype.mouseDown=function(a,b){if(this.enabled&&this.showViewport){var c=mxEvent.isMouseEvent(b.getEvent())?0:this.source.tolerance,c=this.source.allowHandleBoundsCheck&&(mxClient.IS_IE||0 controlPath = gliffyObject.parent.graphic.Line.controlPath; + + if (controlPath != null && controlPath.size() >= 2) + { + int i1 = 0, i2 = controlPath.size() - 1; + boolean noCardinal = false; + if ("begin".equals(graphic.Text.cardinalityType)) + { + i2 = 1; + } + else if ("end".equals(graphic.Text.cardinalityType)) + { + i1 = controlPath.size() - 2; + } + else + { + noCardinal = true; + } + + if (noCardinal || (controlPath.get(i1)[1] == controlPath.get(i2)[1])) + { + lblY = graphic.Text.linePerpValue; + if (controlPath.get(i1)[0] - controlPath.get(i2)[0] > 0) + { + lblY = -lblY; + } + } + else + { + lblX = graphic.Text.linePerpValue; + if (controlPath.get(i1)[1] - controlPath.get(i2)[1] < 0) + { + lblX = -lblX; + } + } + } + } + mxGeo.setOffset(new mxPoint(lblX, lblY)); cell.setGeometry(mxGeo); style.append("labelBackgroundColor=" + gliffyDiagram.stage.getBackgroundColor()).append(";"); //should we force horizontal align for text on lines? + //Most probably yes, as extracting alignment from html messes with some cases [set halign to null later] //style.append("align=center;"); + + //This is a workaround for edges as its label offset is incorrect when alignment is set. It should be handled in a better way + //HTML text-align is not mapped to halign for edges + //TODO Enhance edge's label positioning + gliffyObject.graphic.getText().setHalign(null); } else { diff --git a/src/main/java/com/mxgraph/io/gliffy/importer/gliffyTranslation.properties b/src/main/java/com/mxgraph/io/gliffy/importer/gliffyTranslation.properties index 0f36f7bc..8bd99af6 100644 --- a/src/main/java/com/mxgraph/io/gliffy/importer/gliffyTranslation.properties +++ b/src/main/java/com/mxgraph/io/gliffy/importer/gliffyTranslation.properties @@ -12,7 +12,7 @@ com.gliffy.shape.basic.basic_v1.default.octagon=mxgraph.basic.octagon com.gliffy.shape.basic.basic_v1.default.right_triangle=mxgraph.basic.orthogonal_triangle com.gliffy.shape.basic.basic_v1.default.star=mxgraph.basic.star #TODO fix disappearing control point -com.gliffy.shape.basic.basic_v1.default.round_rectangle=rect;rounded=1;arcSize=5; +com.gliffy.shape.basic.basic_v1.default.round_rectangle=rect;rounded=1;arcSize=15;absoluteArcSize=1 com.gliffy.shape.basic.basic_v1.default.cross=mxgraph.basic.cross2;dx=5 com.gliffy.shape.basic.basic_v1.default.left_arrow=mxgraph.arrows2.arrow;dy=0.6;dx=25;flipH=1;notch=0 com.gliffy.shape.basic.basic_v1.default.right_arrow=mxgraph.arrows2.arrow;dy=0.6;dx=25;notch=0 @@ -103,12 +103,12 @@ com.gliffy.shape.swimlanes.swimlanes_v1.default.horizontal_four_lane_pool=swimla # UML v2 # # UML V2 CLASS -com.gliffy.shape.uml.uml_v2.class.object=rect;verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica -com.gliffy.shape.uml.uml_v2.class.data_type=rect;verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica -com.gliffy.shape.uml.uml_v2.class.enumeration=rect;verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica -com.gliffy.shape.uml.uml_v2.class.interface=rect;verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica -com.gliffy.shape.uml.uml_v2.class.class2=rect;verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica -com.gliffy.shape.uml.uml_v2.class.class=rect;verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica +com.gliffy.shape.uml.uml_v2.class.object=rect;verticalAlign=top;align=left;fontSize=12;fontFamily=Helvetica +com.gliffy.shape.uml.uml_v2.class.data_type=rect;verticalAlign=top;align=left;fontSize=12;fontFamily=Helvetica +com.gliffy.shape.uml.uml_v2.class.enumeration=rect;verticalAlign=top;align=left;fontSize=12;fontFamily=Helvetica +com.gliffy.shape.uml.uml_v2.class.interface=rect;verticalAlign=top;align=left;fontSize=12;fontFamily=Helvetica +com.gliffy.shape.uml.uml_v2.class.class2=rect;verticalAlign=top;align=left;fontSize=12;fontFamily=Helvetica +com.gliffy.shape.uml.uml_v2.class.class=rect;verticalAlign=top;align=left;fontSize=12;fontFamily=Helvetica com.gliffy.shape.uml.uml_v2.class.package=rect;strokeColor=none;shadow=0;fillColor=none com.gliffy.shape.uml.uml_v2.class.simple_class=rect com.gliffy.shape.uml.uml_v2.class.primitive=rect @@ -152,11 +152,11 @@ com.gliffy.shape.uml.uml_v1.default.self_message=filledEdge;fixDash=1;startArrow com.gliffy.shape.uml.uml_v1.default.actor=umlActor;verticalLabelPosition=bottom;verticalAlign=bottom com.gliffy.shape.uml.uml_v1.default.use_case=ellipse;perimeter=ellipsePerimeter # UML v2 SEQUENCE -com.gliffy.shape.uml.uml_v2.sequence.frame=mxgraph.sysml.package;xSize=90;align=left;spacingLeft=10;overflow=fill;labelX=26 -com.gliffy.shape.uml.uml_v2.sequence.interaction_use=stencil(rVNbDsIgEDwN/wjxAMbHPWi7taQIDWCtt5dmsVI0aqw/hBkmwyy7EL51jeiAMNoQviOMrSgNa8CXDAvXQemR7IWVolCAJ85b08JFVj56SN2AlX485XtCN4RvC1G2R2vOuiLsMLG1sRDZO9WJ0SWCk+nHaAPaxiDXFD28lNSJli8Qr9hbdZaDrd+qF4jz0KUyDlIi7GfPVUulsBmp6k8vOg3CT+o7/q7yZ/XH2p/r9jB4nE40tVDjJcOszVnXqVDyqJEqQXuwSPcJf5JVFYd/FujFOAcWPxjf3wA=);xSize=90;align=left;spacingLeft=10;overflow=fill -com.gliffy.shape.uml.uml_v2.sequence.opt_combined_fragment=stencil(rVPREoIgEPwa3gmmD2jM/gP1TEYCB0nt78M5MtSmmuyFYZedZY87CE/aSjRAGK0IPxLGdpT61eN+gUXbQO6Q7ISVIlOAJ62zpoZeFi54SF2BlW485SmhB8KTTOT12ZqrLgg7TWxpLAT2QTVidAngYrox2oC2IcgtRk8vJXWk5RvEO/ZWvcjB9m/VG8TL0LkyLcSE38+eq5RKYTNi1Z9edBqEn9QP/F3la/XH2td1OxgcTieamsbhJcOszYuuU6HkWSOVg3Zgke4i/iKLIgz/LNCLcfYsfjCe3gE=);xSize=90;align=left;spacingLeft=10;overflow=fill -com.gliffy.shape.uml.uml_v2.sequence.loop_combined_fragment=stencil(rVNbDoMgEDwN/xTSAzStvQeFVYkUDFJtb1/NokX7jOkPYYbJMLsshO+bUtRAGC0JPxDGNpT2a4+7BRZNDTIg2QqvxckAnjTBuwo6rUL00LYEr8NwyjNCd4TvT0JWhXcXqwg7TmzuPER2pGoxuERwdu0Q7Yq2McgtRQ8vo22i5dv14g37qGZzdYTv1HS9eBlaGtdASvT7WbtybQw+Rqr6U0enQVilHvFvlT+rv9b+XHeAa8DpRFPjXI23jBlfPjsVRhcWKQk2gEe6TfizVipO/yzRi3nuWfxhPLsD);xSize=90;align=left;spacingLeft=10;overflow=fill -com.gliffy.shape.uml.uml_v2.sequence.alt_combined_fragment=stencil(rVNbDsIgEDwN/wjxAMbHPWi7WlKEBrCtt5dmsVI0aqw/hBkmwyy7EL51tWiBMFoTviOMrSgNa8B9hoVrofRIdsJKUSjAE+etaaCXlY8eUtdgpR9P+Z7QDeHbQpTNyZqLrgg7TOzRWIjsnWrF6BLB2XRjtAFtY5Brih5eSupEyxeIV+ytOsvB1m/VC8R56FIZBykR9rPnOkqlsBmp6k8vOg3CT+o7/q7yZ/XH2p/r9jB4nE40FcrjJcOszVnXqVDypJEqQXuwSHcJf5ZVFYd/FujFOAcWPxjf3wA=);xSize=90;align=left;spacingLeft=10;overflow=fill +com.gliffy.shape.uml.uml_v2.sequence.frame=mxgraph.sysml.package;xSize=90;align=left;spacingLeft=10;labelX=26 +com.gliffy.shape.uml.uml_v2.sequence.interaction_use=stencil(rVNbDsIgEDwN/wjxAMbHPWi7taQIDWCtt5dmsVI0aqw/hBkmwyy7EL51jeiAMNoQviOMrSgNa8CXDAvXQemR7IWVolCAJ85b08JFVj56SN2AlX485XtCN4RvC1G2R2vOuiLsMLG1sRDZO9WJ0SWCk+nHaAPaxiDXFD28lNSJli8Qr9hbdZaDrd+qF4jz0KUyDlIi7GfPVUulsBmp6k8vOg3CT+o7/q7yZ/XH2p/r9jB4nE40tVDjJcOszVnXqVDyqJEqQXuwSPcJf5JVFYd/FujFOAcWPxjf3wA=);xSize=90;align=left;spacingLeft=10 +com.gliffy.shape.uml.uml_v2.sequence.opt_combined_fragment=stencil(rVPREoIgEPwa3gmmD2jM/gP1TEYCB0nt78M5MtSmmuyFYZedZY87CE/aSjRAGK0IPxLGdpT61eN+gUXbQO6Q7ISVIlOAJ62zpoZeFi54SF2BlW485SmhB8KTTOT12ZqrLgg7TWxpLAT2QTVidAngYrox2oC2IcgtRk8vJXWk5RvEO/ZWvcjB9m/VG8TL0LkyLcSE38+eq5RKYTNi1Z9edBqEn9QP/F3la/XH2td1OxgcTieamsbhJcOszYuuU6HkWSOVg3Zgke4i/iKLIgz/LNCLcfYsfjCe3gE=);xSize=90;align=left;spacingLeft=10 +com.gliffy.shape.uml.uml_v2.sequence.loop_combined_fragment=stencil(rVNbDoMgEDwN/xTSAzStvQeFVYkUDFJtb1/NokX7jOkPYYbJMLsshO+bUtRAGC0JPxDGNpT2a4+7BRZNDTIg2QqvxckAnjTBuwo6rUL00LYEr8NwyjNCd4TvT0JWhXcXqwg7TmzuPER2pGoxuERwdu0Q7Yq2McgtRQ8vo22i5dv14g37qGZzdYTv1HS9eBlaGtdASvT7WbtybQw+Rqr6U0enQVilHvFvlT+rv9b+XHeAa8DpRFPjXI23jBlfPjsVRhcWKQk2gEe6TfizVipO/yzRi3nuWfxhPLsD);xSize=90;align=left;spacingLeft=10 +com.gliffy.shape.uml.uml_v2.sequence.alt_combined_fragment=stencil(rVNbDsIgEDwN/wjxAMbHPWi7WlKEBrCtt5dmsVI0aqw/hBkmwyy7EL51tWiBMFoTviOMrSgNa8B9hoVrofRIdsJKUSjAE+etaaCXlY8eUtdgpR9P+Z7QDeHbQpTNyZqLrgg7TOzRWIjsnWrF6BLB2XRjtAFtY5Brih5eSupEyxeIV+ytOsvB1m/VC8R56FIZBykR9rPnOkqlsBmp6k8vOg3CT+o7/q7yZ/XH2p/r9jB4nE40FcrjJcOszVnXqVDypJEqQXuwSHcJf5ZVFYd/FujFOAcWPxjf3wA=);xSize=90;align=left;spacingLeft=10 com.gliffy.shape.basic.basic_v1.default.line=edgeStyle=none;endArrow=none #composite com.gliffy.shape.uml.uml_v2.sequence.entity_lifeline=rect;fillColor=none;strokeColor=none @@ -175,14 +175,14 @@ com.gliffy.shape.uml.uml_v2.sequence.return_message=endArrow=none;startSize=12;s com.gliffy.shape.uml.uml_v2.sequence.self_message=curved=1 com.gliffy.shape.uml.uml_v2.sequence.actor=umlActor;verticalLabelPosition=bottom;verticalAlign=top com.gliffy.shape.uml.uml_v2.sequence.concurrent=stencil(nZFNDsIgEIVPwx6ZjS4NtveYtkRIKxDAVm8vP5qA3RgTNrw330zmDQHuJVpBGEVvxRgIXAhjKzqFwxJlFh0fnJnFpqYgi620FE6F5EJH6JkAH3Ccr87c9fSW6Ck94BYTVUlZvZk1zXyUfrTMeda/fg8tSlfQgbbYv9zxR66lPl36r3WjUm0c083ZNXW5aJdXVsstoHsB);dashed=1 -com.gliffy.shape.uml.uml_v2.sequence.continuation=rect;rounded=1 +com.gliffy.shape.uml.uml_v2.sequence.continuation=rect;rounded=1;arcSize=15;absoluteArcSize=1 com.gliffy.shape.uml.uml_v2.sequence.gate=rect com.gliffy.shape.uml.uml_v2.sequence.constraint=edgeStyle=none;endArrow=none;dashed=1 com.gliffy.shape.uml.uml_v2.sequence.note=note;size=10 com.gliffy.shape.uml.uml_v2.sequence.anchor_line=edgeStyle=none;endArrow=none;dashed=1 # UML v2 ACTIVITY -com.gliffy.shape.uml.uml_v2.activity.activity=rect;rounded=1 -com.gliffy.shape.uml.uml_v2.activity.action=rect;rounded=1 +com.gliffy.shape.uml.uml_v2.activity.activity=rect;rounded=1;arcSize=15;absoluteArcSize=1 +com.gliffy.shape.uml.uml_v2.activity.action=rect;rounded=1;arcSize=15;absoluteArcSize=1 com.gliffy.shape.uml.uml_v2.activity.accept_event_action=mxgraph.arrows2.arrow;dy=0;dx=0;notch=15 com.gliffy.shape.uml.uml_v2.activity.accept_time_event_action=mxgraph.flowchart.collate com.gliffy.shape.uml.uml_v2.activity.send_signal_action=mxgraph.arrows2.arrow;dy=0;dx=15;notch=0 @@ -196,19 +196,19 @@ com.gliffy.shape.uml.uml_v2.activity.jump_node=ellipse;perimeter=ellipsePerimete com.gliffy.shape.uml.uml_v2.activity.control_flow=edgeStyle=none;endArrow=open;endSize=12 com.gliffy.shape.uml.uml_v2.activity.object_flow=edgeStyle=none;endArrow=open;dashed=1;endSize=12 #com.gliffy.shape.uml.uml_v2.activity.exception_flow= -com.gliffy.shape.uml.uml_v2.activity.frame=mxgraph.sysml.package;xSize=90;align=left;spacingLeft=10;overflow=fill;labelX=32 +com.gliffy.shape.uml.uml_v2.activity.frame=mxgraph.sysml.package;xSize=90;align=left;spacingLeft=10;labelX=32 com.gliffy.shape.uml.uml_v2.activity.object_node=rect -com.gliffy.shape.uml.uml_v2.activity.structured_node=rect;rounded=1;dashed=1 -com.gliffy.shape.uml.uml_v2.activity.region=rect;rounded=1;dashed=1 +com.gliffy.shape.uml.uml_v2.activity.structured_node=rect;rounded=1;dashed=1;arcSize=15;absoluteArcSize=1 +com.gliffy.shape.uml.uml_v2.activity.region=rect;rounded=1;dashed=1;arcSize=15;absoluteArcSize=1 com.gliffy.shape.uml.uml_v2.activity.note=note;size=10 com.gliffy.shape.uml.uml_v2.activity.anchor_line=edgeStyle=none;endArrow=none;dashed=1 # UML v2 STATE MACHINE -com.gliffy.shape.uml.uml_v2.state_machine.frame=mxgraph.sysml.package;xSize=90;align=left;spacingLeft=10;overflow=fill;labelX=32 -com.gliffy.shape.uml.uml_v2.state_machine.orthoganal_state=rect;rounded=1;startSize=30;arcSize=10 -com.gliffy.shape.uml.uml_v2.state_machine.composite_state=rect;rounded=1;startSize=30;arcSize=10 -com.gliffy.shape.uml.uml_v2.state_machine.state=rect;rounded=1 +com.gliffy.shape.uml.uml_v2.state_machine.frame=mxgraph.sysml.package;xSize=90;align=left;spacingLeft=10;labelX=32 +com.gliffy.shape.uml.uml_v2.state_machine.orthoganal_state=rect;rounded=1;startSize=30;arcSize=15;absoluteArcSize=1 +com.gliffy.shape.uml.uml_v2.state_machine.composite_state=rect;rounded=1;startSize=30;arcSize=15;absoluteArcSize=1 +com.gliffy.shape.uml.uml_v2.state_machine.state=rect;rounded=1;arcSize=15;absoluteArcSize=1 # temporary -com.gliffy.shape.uml.uml_v2.state_machine.submachine_state=ext;symbol0=ellipse;symbol0Width=10;symbol0Height=10;symbol0Align=right;symbol0VerticalAlign=bottom;symbol0Spacing=5;symbol0VSpacing=5;symbol1=ellipse;symbol1Width=10;symbol1Height=10;symbol1Align=right;symbol1VerticalAlign=bottom;symbol1Spacing=25;symbol1VSpacing=5;symbol2=line;symbol2Width=10;symbol2Height=10;symbol2Align=right;symbol2VerticalAlign=bottom;symbol2Spacing=15;symbol2VSpacing=5;rounded=1;arcSize=10 +com.gliffy.shape.uml.uml_v2.state_machine.submachine_state=ext;symbol0=ellipse;symbol0Width=10;symbol0Height=10;symbol0Align=right;symbol0VerticalAlign=bottom;symbol0Spacing=5;symbol0VSpacing=5;symbol1=ellipse;symbol1Width=10;symbol1Height=10;symbol1Align=right;symbol1VerticalAlign=bottom;symbol1Spacing=25;symbol1VSpacing=5;symbol2=line;symbol2Width=10;symbol2Height=10;symbol2Align=right;symbol2VerticalAlign=bottom;symbol2Spacing=15;symbol2VSpacing=5;rounded=1;arcSize=15;absoluteArcSize=1 com.gliffy.shape.uml.uml_v2.state_machine.final_state=mxgraph.bpmn.shape;verticalLabelPosition=bottom;verticalAlign=top;perimeter=ellipsePerimeter;outline=end;symbol=terminate com.gliffy.shape.uml.uml_v2.state_machine.initial_state=ellipse;perimeter=ellipsePerimeter com.gliffy.shape.uml.uml_v2.state_machine.entry_point=ellipse;perimeter=ellipsePerimeter @@ -230,14 +230,14 @@ com.gliffy.shape.uml.uml_v2.deployment.device_node=cube;size=10;direction=south com.gliffy.shape.uml.uml_v2.deployment.execution_environment_node=cube;size=10;direction=south com.gliffy.shape.uml.uml_v2.deployment.artifact=note;size=10 com.gliffy.shape.uml.uml_v2.deployment.component1=component;align=left;spacingLeft=36 -com.gliffy.shape.uml.uml_v2.deployment.component2=ext;symbol0=component;symbol0Width=20;symbol0Height=20;symbol0Align=right;symbol0VerticalAlign=top;symbol0Spacing=4;symbol0ArcSpacing=0.25;jettyWidth=8;jettyHeight=4;overflow=fill +com.gliffy.shape.uml.uml_v2.deployment.component2=ext;symbol0=component;symbol0Width=20;symbol0Height=20;symbol0Align=right;symbol0VerticalAlign=top;symbol0Spacing=4;symbol0ArcSpacing=0.25;jettyWidth=8;jettyHeight=4 com.gliffy.shape.uml.uml_v2.deployment.interface=ellipse;perimeter=ellipsePerimeter com.gliffy.shape.uml.uml_v2.deployment.simple_interface=stencil(bVHRDsIgDPwaHpewERN9NFP/o5s4yHCQgm7+vWydBqYJL3dXer2WidorcJJVHLyTbWDixKrqCaihMZGuouID2l6O+hoUyXpQEnWYVXFm/MhE3UDbd2gfw3Wl+GF+onYw/0qohb3b5+w5Ub8dJ6MXwZITvny7A7ZRxk85VeMrg/97rWgqYNK+QBsgaDtkmgHsZBEtipuBLpP8KKVL6DKbK0kZySRoXOqysjSCNEY7n4Qut6EJjgT3K1Q5TDvetDFbHxppmefnIgtL1xbnNw==) com.gliffy.shape.uml.uml_v2.deployment.required_interface=stencil(bZDNDoMgEISfhiMJQnrosbH2PValSrRCFurP25cfbSRtwmW+GXZhiChtD0YSzsAa2Tgi7oTzGVBBPXrMvWMd6kEuqnV9stXUS1QuuKIi7EZEWUMzdKjfU7sjdg1HlAbCrROK9KXnsHNN8y4sLdqSLFjSj+90wMbbeMRTGrdM/p+1q5XCqixF7cApPWXeCNhJ6lfQ5whdZtlFSnPCRfau4zOenH7pG419ZbkY+uko0tS/qD4=) com.gliffy.shape.uml.uml_v2.deployment.port=rect;verticalLabelPosition=bottom;verticalAlign=top com.gliffy.shape.uml.uml_v2.deployment.instance=rect -com.gliffy.shape.uml.uml_v2.deployment.instance_specification=ext;symbol0=note;symbol0Width=20;symbol0Height=20;symbol0Align=right;symbol0VerticalAlign=top;symbol0Spacing=4;symbol0ArcSpacing=0.25;jettyWidth=8;jettyHeight=4;overflow=fill;align=center;verticalAlign=bottom;size=5 -com.gliffy.shape.uml.uml_v2.deployment.frame=mxgraph.sysml.package;xSize=90;align=left;spacingLeft=10;overflow=fill +com.gliffy.shape.uml.uml_v2.deployment.instance_specification=ext;symbol0=note;symbol0Width=20;symbol0Height=20;symbol0Align=right;symbol0VerticalAlign=top;symbol0Spacing=4;symbol0ArcSpacing=0.25;jettyWidth=8;jettyHeight=4;align=center;verticalAlign=bottom;size=5 +com.gliffy.shape.uml.uml_v2.deployment.frame=mxgraph.sysml.package;xSize=90;align=left;spacingLeft=10 com.gliffy.shape.uml.uml_v2.deployment.association=edgeStyle=orthogonalEdgeStyle com.gliffy.shape.uml.uml_v2.deployment.dependency=edgeStyle=orthogonalEdgeStyle;dashed=1 com.gliffy.shape.uml.uml_v2.deployment.generalization=edgeStyle=orthogonalEdgeStyle @@ -245,14 +245,14 @@ com.gliffy.shape.uml.uml_v2.deployment.aggregation=edgeStyle=orthogonalEdgeStyle com.gliffy.shape.uml.uml_v2.deployment.composition=edgeStyle=orthogonalEdgeStyle com.gliffy.shape.uml.uml_v2.deployment.note=note;size=10 com.gliffy.shape.uml.uml_v2.deployment.anchor_line=edgeStyle=none;dashed=1 -com.gliffy.shape.uml.uml_v2.class.class=verticalAlign=top;overflow=fill;fontSize=12;fontFamily=Helvetica +com.gliffy.shape.uml.uml_v2.class.class=verticalAlign=top;fontSize=12;fontFamily=Helvetica com.gliffy.shape.uml.uml_v2.deployment.package=folder;fontStyle=1;spacingTop=10;tabWidth=40;tabHeight=14;tabPosition=left # UML v2 COMPONENT com.gliffy.shape.uml.uml_v2.component.component1=component;align=left;spacingLeft=36 -com.gliffy.shape.uml.uml_v2.component.component2=ext;symbol0=component;symbol0Width=20;symbol0Height=20;symbol0Align=right;symbol0VerticalAlign=top;symbol0Spacing=4;symbol0ArcSpacing=0.25;jettyWidth=8;jettyHeight=4;overflow=fill +com.gliffy.shape.uml.uml_v2.component.component2=ext;symbol0=component;symbol0Width=20;symbol0Height=20;symbol0Align=right;symbol0VerticalAlign=top;symbol0Spacing=4;symbol0ArcSpacing=0.25;jettyWidth=8;jettyHeight=4 com.gliffy.shape.uml.uml_v2.component.interface=ellipse;perimeter=ellipsePerimeter -#com.gliffy.shape.uml.uml_v2.component.simple_interface= -#com.gliffy.shape.uml.uml_v2.component.required_interface= +com.gliffy.shape.uml.uml_v2.component.simple_interface=stencil(bVHRDsIgDPwaHpewERN9NFP/o5s4yHCQgm7+vWydBqYJL3dXer2WidorcJJVHLyTbWDixKrqCaihMZGuouID2l6O+hoUyXpQEnWYVXFm/MhE3UDbd2gfw3Wl+GF+onYw/0qohb3b5+w5Ub8dJ6MXwZITvny7A7ZRxk85VeMrg/97rWgqYNK+QBsgaDtkmgHsZBEtipuBLpP8KKVL6DKbK0kZySRoXOqysjSCNEY7n4Qut6EJjgT3K1Q5TDvetDFbHxppmefnIgtL1xbnNw==) +com.gliffy.shape.uml.uml_v2.component.required_interface=stencil(bZDNDoMgEISfhiMJQnrosbH2PValSrRCFurP25cfbSRtwmW+GXZhiChtD0YSzsAa2Tgi7oTzGVBBPXrMvWMd6kEuqnV9stXUS1QuuKIi7EZEWUMzdKjfU7sjdg1HlAbCrROK9KXnsHNN8y4sLdqSLFjSj+90wMbbeMRTGrdM/p+1q5XCqixF7cApPWXeCNhJ6lfQ5whdZtlFSnPCRfau4zOenH7pG419ZbkY+uko0tS/qD4=) com.gliffy.shape.uml.uml_v2.component.port=rect com.gliffy.shape.uml.uml_v2.component.artifact=note;size=10 com.gliffy.shape.uml.uml_v2.component.generalization=edgeStyle=orthogonalEdgeStyle @@ -269,7 +269,7 @@ com.gliffy.shape.uml.uml_v2.use_case.use_case=ellipse;perimeter=ellipsePerimeter com.gliffy.shape.uml.uml_v2.use_case.actor=umlActor;verticalLabelPosition=bottom;verticalAlign=bottom com.gliffy.shape.uml.uml_v2.use_case.association=edgeStyle=none com.gliffy.shape.uml.uml_v2.use_case.system=rect -com.gliffy.shape.uml.uml_v2.use_case.frame=mxgraph.sysml.package;xSize=90;align=left;spacingLeft=10;overflow=fill;labelX=26 +com.gliffy.shape.uml.uml_v2.use_case.frame=mxgraph.sysml.package;xSize=90;align=left;spacingLeft=10;labelX=26 com.gliffy.shape.uml.uml_v2.use_case.include=edgeStyle=none;dashed=1 com.gliffy.shape.uml.uml_v2.use_case.extend=edgeStyle=none;dashed=1 com.gliffy.shape.uml.uml_v2.use_case.dependency=edgeStyle=none;dashed=1 @@ -332,22 +332,22 @@ com.gliffy.shape.bpmn.bpmn_v1.activities.multiple_instances=mxgraph.ios7.icons.p com.gliffy.shape.bpmn.bpmn_v1.activities.compensation=mxgraph.bpmn.compensation;html=1;fillColor=#000000;verticalLabelPosition=bottom;verticalAlign=top com.gliffy.shape.bpmn.bpmn_v1.activities.ad_hoc=mxgraph.bpmn.ad_hoc;fillColor=#000000;verticalLabelPosition=bottom;verticalAlign=top com.gliffy.shape.bpmn.bpmn_v1.activities.looping=mxgraph.bpmn.loop;verticalLabelPosition=bottom;verticalAlign=top;strokeWidth=5 -com.gliffy.shape.bpmn.bpmn_v1.activities.process=ext;rounded=1 -com.gliffy.shape.bpmn.bpmn_v1.activities.transaction=ext;rounded=1;double=1 -com.gliffy.shape.bpmn.bpmn_v1.activities.expanded_sub_process=ext;rounded=1 -com.gliffy.shape.bpmn.bpmn_v1.activities.collapsed_sub_process=ext;rounded=1;symbol0=plus;symbol0Width=14;symbol0Height=14;symbol0Align=center;symbol0VerticalAlign=bottom -com.gliffy.shape.bpmn.bpmn_v1.activities.task=ext;rounded=1 +com.gliffy.shape.bpmn.bpmn_v1.activities.process=ext;rounded=1;arcSize=15;absoluteArcSize=1 +com.gliffy.shape.bpmn.bpmn_v1.activities.transaction=ext;rounded=1;double=1;arcSize=15;absoluteArcSize=1 +com.gliffy.shape.bpmn.bpmn_v1.activities.expanded_sub_process=ext;rounded=1;arcSize=15;absoluteArcSize=1 +com.gliffy.shape.bpmn.bpmn_v1.activities.collapsed_sub_process=ext;rounded=1;symbol0=plus;symbol0Width=14;symbol0Height=14;symbol0Align=center;symbol0VerticalAlign=bottom;arcSize=15;absoluteArcSize=1 +com.gliffy.shape.bpmn.bpmn_v1.activities.task=ext;rounded=1;arcSize=15;absoluteArcSize=1 # BPMN v1 DATA ARTIFACTS com.gliffy.shape.bpmn.bpmn_v1.data_artifacts.annotation=mxgraph.flowchart.annotation_1;strokeWidth=2;html=1 com.gliffy.shape.bpmn.bpmn_v1.data_artifacts.data_object=note;size=25 com.gliffy.shape.bpmn.bpmn_v1.data_artifacts.group=rect;dashed=1;fillColor=none;dashPattern=8 3 2 3;fixDash=1 # BPMN v1 GATEWAYS -com.gliffy.shape.bpmn.bpmn_v1.gateways.gateway=rhombus;perimeter=rhombusPerimeter -com.gliffy.shape.bpmn.bpmn_v1.gateways.gateway_xor_data=mxgraph.bpmn.shape;perimeter=rhombusPerimeter;background=gateway;outline=none;symbol=exclusiveGw -com.gliffy.shape.bpmn.bpmn_v1.gateways.gateway_and=mxgraph.bpmn.shape;perimeter=rhombusPerimeter;background=gateway;outline=none;symbol=parallelGw -com.gliffy.shape.bpmn.bpmn_v1.gateways.gateway_xor_event=mxgraph.bpmn.shape;perimeter=rhombusPerimeter;background=gateway;outline=throwing;symbol=multiple -com.gliffy.shape.bpmn.bpmn_v1.gateways.gateway_complex=mxgraph.bpmn.shape;perimeter=rhombusPerimeter;background=gateway;outline=none;symbol=complexGw -com.gliffy.shape.bpmn.bpmn_v1.gateways.gateway_or=mxgraph.bpmn.shape;perimeter=rhombusPerimeter;background=gateway;outline=end;symbol=general +com.gliffy.shape.bpmn.bpmn_v1.gateways.gateway=rhombus;perimeter=rhombusPerimeter;strokeWidth=1 +com.gliffy.shape.bpmn.bpmn_v1.gateways.gateway_xor_data=mxgraph.bpmn.shape;perimeter=rhombusPerimeter;background=gateway;outline=none;symbol=exclusiveGw;strokeWidth=1 +com.gliffy.shape.bpmn.bpmn_v1.gateways.gateway_and=mxgraph.bpmn.shape;perimeter=rhombusPerimeter;background=gateway;outline=none;symbol=parallelGw;strokeWidth=1 +com.gliffy.shape.bpmn.bpmn_v1.gateways.gateway_xor_event=mxgraph.bpmn.shape;perimeter=rhombusPerimeter;background=gateway;outline=throwing;symbol=multiple;strokeWidth=1 +com.gliffy.shape.bpmn.bpmn_v1.gateways.gateway_complex=mxgraph.bpmn.shape;perimeter=rhombusPerimeter;background=gateway;outline=none;symbol=complexGw;strokeWidth=1 +com.gliffy.shape.bpmn.bpmn_v1.gateways.gateway_or=mxgraph.bpmn.shape;perimeter=rhombusPerimeter;background=gateway;outline=end;symbol=general;strokeWidth=1 # BPMN v1 CONNECTORS com.gliffy.shape.bpmn.bpmn_v1.connectors.normal_sequence_flow=edgeStyle=orthogonalEdgeStyle;dashed=1 com.gliffy.shape.bpmn.bpmn_v1.connectors.message_flow=edgeStyle=orthogonalEdgeStyle @@ -362,33 +362,31 @@ com.gliffy.shape.bpmn.bpmn_v1.connectors.association_with_arrow=edgeStyle=orthog # iOS7 CONTAINERS com.gliffy.shape.iphone.iphone_ios7.containers_content.title_bar=rect;strokeColor=none #composite -#com.gliffy.shape.iphone.iphone_ios7.containers_content.table= +com.gliffy.shape.iphone.iphone_ios7.containers_content.table=rect com.gliffy.shape.iphone.iphone_ios7.containers_content.blank_screen=mxgraph.ios.iBgFlat;strokeColor=#18211b;fillColor=#dddddd com.gliffy.shape.iphone.iphone_ios7.containers_content.iphone5=mxgraph.ios.iPhone;bgStyle=bgWhite;fillColor=#aaaaaa com.gliffy.shape.iphone.iphone_ios7.containers_content.chat_bubble_grey=mxgraph.ios7ui.callout com.gliffy.shape.iphone.iphone_ios7.containers_content.chat_bubble_green=mxgraph.ios7ui.callout;flipH=1 com.gliffy.shape.iphone.iphone_ios7.containers_content.chat_bubble_blue=mxgraph.ios7ui.callout;flipH=1 com.gliffy.shape.iphone.iphone_ios7.containers_content.page_indicator=mxgraph.ios.iPageControl -#composite com.gliffy.shape.iphone.iphone_ios7.containers_content.status_bar_black=mxgraph.ios7ui.appBar;fillColor=#000000;strokeColor=#FFFFFF -#composite -com.gliffy.shape.iphone.iphone_ios7.containers_content.status_bar_white=mxgraph.ios7ui.appBar;;fillColor=none;strokeColor=#000000 +com.gliffy.shape.iphone.iphone_ios7.containers_content.status_bar_white=mxgraph.ios7ui.appBar;fillColor=none;strokeColor=#000000 # iOS7 FORMS CONTROLS #composite -#com.gliffy.shape.iphone.iphone_ios7.forms_controls.button_stack= +com.gliffy.shape.iphone.iphone_ios7.forms_controls.button_stack=rect;rounded=1;arcSize=15;absoluteArcSize=1 #composite -#com.gliffy.shape.iphone.iphone_ios7.forms_controls.alert= +com.gliffy.shape.iphone.iphone_ios7.forms_controls.alert=rect;rounded=1;arcSize=15;absoluteArcSize=1 #composite -#com.gliffy.shape.iphone.iphone_ios7.forms_controls.alert_2options= -com.gliffy.shape.iphone.iphone_ios7.forms_controls.button_blue=rect;rounded=1 -com.gliffy.shape.iphone.iphone_ios7.forms_controls.button_green=rect;rounded=1 -com.gliffy.shape.iphone.iphone_ios7.forms_controls.button_red=rect;rounded=1 +com.gliffy.shape.iphone.iphone_ios7.forms_controls.alert_2options=rect;rounded=1;arcSize=15;absoluteArcSize=1 +com.gliffy.shape.iphone.iphone_ios7.forms_controls.button_blue=rect;rounded=1;arcSize=15;absoluteArcSize=1 +com.gliffy.shape.iphone.iphone_ios7.forms_controls.button_green=rect;rounded=1;arcSize=15;absoluteArcSize=1 +com.gliffy.shape.iphone.iphone_ios7.forms_controls.button_red=rect;rounded=1;arcSize=15;absoluteArcSize=1 #com.gliffy.shape.iphone.iphone_ios7.forms_controls.date_picker= -com.gliffy.shape.iphone.iphone_ios7.forms_controls.input=rect;rounded=1 +com.gliffy.shape.iphone.iphone_ios7.forms_controls.input=rect;rounded=1;arcSize=15;absoluteArcSize=1 com.gliffy.shape.iphone.iphone_ios7.forms_controls.keyboard_landscape=mxgraph.ios7.misc.keyboard_(letters) com.gliffy.shape.iphone.iphone_ios7.forms_controls.keyboard_portrait=mxgraph.ios7.misc.keyboard_(letters) com.gliffy.shape.iphone.iphone_ios7.forms_controls.progress_bar=mxgraph.ios7ui.downloadBar;barPos=50;fillColor=#aaaaaa;strokeColor=#0080f0 -com.gliffy.shape.iphone.iphone_ios7.forms_controls.search=mxgraph.ios7ui.searchBox +com.gliffy.shape.iphone.iphone_ios7.forms_controls.search=rect; com.gliffy.shape.iphone.iphone_ios7.forms_controls.slider=mxgraph.ios7ui.slider;barPos=35;strokeColor=#0080f0;fillColor=#ffffff;strokeColor2=#a0a0a0 com.gliffy.shape.iphone.iphone_ios7.forms_controls.switch_off=mxgraph.ios7ui.onOffButton;buttonState=off;strokeColor2=#aaaaaa;fillColor2=#ffffff com.gliffy.shape.iphone.iphone_ios7.forms_controls.switch_on=mxgraph.ios7ui.onOffButton;buttonState=on;strokeColor=#38D145;fillColor=#38D145 @@ -450,53 +448,49 @@ com.gliffy.shape.iphone.iphone_ios7.icons_glyphs.icon_orange_dot=ellipse;perimet com.gliffy.shape.iphone.iphone_ios7.icons_glyphs.icon_refresh=mxgraph.ios7.icons.reload;strokeColor=#929292;fillColor=#929292 com.gliffy.shape.iphone.iphone_ios7.icons_glyphs.icon_remove=mxgraph.ios7.misc.delete;fillColor=#ff0000;strokeColor=#ffffff # iOS7 NAVIGATION -com.gliffy.shape.iphone.iphone_ios7.navigation.action_back=mxgraph.ios7.misc.left +com.gliffy.shape.iphone.iphone_ios7.navigation.action_back=mxgraph.ios7.misc.left;strokeColor=#157EFA;strokeWidth=3 #composite -#com.gliffy.shape.iphone.iphone_ios7.navigation.contextual_menu= +com.gliffy.shape.iphone.iphone_ios7.navigation.contextual_menu=rect #composite -#com.gliffy.shape.iphone.iphone_ios7.navigation.nav_3tabs= +com.gliffy.shape.iphone.iphone_ios7.navigation.nav_3tabs=rect;rounded=1;arcSize=15;absoluteArcSize=1 #composite -#com.gliffy.shape.iphone.iphone_ios7.containers_content.title_bar= +com.gliffy.shape.iphone.iphone_ios7.containers_content.title_bar=partialRectangle;top=0;right=0;left=0 #composite -#com.gliffy.shape.iphone.iphone_ios7.navigation.tab_bar= +com.gliffy.shape.iphone.iphone_ios7.navigation.tab_bar=partialRectangle;bottom=0;right=0;left=0 # # ANDROID v1 # # ANDROID v1 GENERAL -com.gliffy.shape.android.android_v1.general.tooltip=rect;rounded=1 +com.gliffy.shape.android.android_v1.general.tooltip=rect;rounded=1;arcSize=15;absoluteArcSize=1 com.gliffy.shape.android.android_v1.general.subheader=rect -#composite com.gliffy.shape.android.android_v1.general.statusbar=mxgraph.android.statusBar;strokeColor=#ffffff com.gliffy.shape.android.android_v1.general.slider=mxgraph.android.progress_scrubber_focused com.gliffy.shape.android.android_v1.general.keyboard_portrait=mxgraph.android.keyboard com.gliffy.shape.android.android_v1.general.keyboard_landscape=mxgraph.android.keyboard com.gliffy.shape.android.android_v1.general.bottom_bar=rect -#composite -#com.gliffy.shape.android.android_v1.general.app_bar= -com.gliffy.shape.android.android_v1.general.actionbar=rect +com.gliffy.shape.android.android_v1.general.app_bar=rect +com.gliffy.shape.android.android_v1.general.actionbar=partialRectangle;top=0;right=0;left=0;strokeWidth=3 com.gliffy.shape.android.android_v1.general.phone=mxgraph.android.phone2 #composite -#com.gliffy.shape.android.android_v1.general.dialog= +com.gliffy.shape.android.android_v1.general.dialog=rect;rounded=1;arcSize=5;absoluteArcSize=1 #composite -#com.gliffy.shape.android.android_v1.general.list_1line= +com.gliffy.shape.android.android_v1.general.list_1line=rect;strokeColor=none #composite -#com.gliffy.shape.android.android_v1.general.list_2lines= +com.gliffy.shape.android.android_v1.general.list_2lines=rect;strokeColor=none #composite -#com.gliffy.shape.android.android_v1.general.tabs01= +com.gliffy.shape.android.android_v1.general.tabs01=rect;strokeColor=none #composite -#com.gliffy.shape.android.android_v1.general.tabs02= +com.gliffy.shape.android.android_v1.general.tabs02=partialRectangle;top=0;right=0;left=0 # ANDROID v1 FORMS -#composite #com.gliffy.shape.android.android_v1.forms.timepicker= com.gliffy.shape.android.android_v1.forms.switch_on=mxgraph.android.switch_on com.gliffy.shape.android.android_v1.forms.switch_off=mxgraph.android.switch_off com.gliffy.shape.android.android_v1.forms.radio_button=ellipse;perimeter=ellipsePerimeter com.gliffy.shape.android.android_v1.forms.input_field=mxgraph.android.textfield -#composite #com.gliffy.shape.android.android_v1.forms.datepicker= com.gliffy.shape.android.android_v1.forms.checkbox=mxgraph.android.checkbox com.gliffy.shape.android.android_v1.forms.button_floating_action=mxgraph.ios7.icons.add;strokecolor=#929292;fillColor=#ffffff -com.gliffy.shape.android.android_v1.forms.button=rect;rounded=1;strokeColor=none +com.gliffy.shape.android.android_v1.forms.button=rect;rounded=1;strokeColor=none;arcSize=15;absoluteArcSize=1 # ANDROID v1 ICONS com.gliffy.shape.android.android_v1.icons.attachment=mxgraph.office.concepts.attachment;direction=north com.gliffy.shape.android.android_v1.icons.avatar=mxgraph.android.contact_badge_normal @@ -587,7 +581,7 @@ com.gliffy.shape.android.android_v1.icons_av.shuffle=mxgraph.ios7.icons.shuffle #ANDROID SYSTEM ICONS com.gliffy.shape.android.android_v1.icons_system.back=mxgraph.ios7.icons.play;flipH=1 com.gliffy.shape.android.android_v1.icons_system.home=ellipse;perimeter=ellipsePerimeter -com.gliffy.shape.android.android_v1.icons_system.recent_apps=rect;rounded=1 +com.gliffy.shape.android.android_v1.icons_system.recent_apps=rect;rounded=1;arcSize=15;absoluteArcSize=1 #com.gliffy.shape.android.android_v1.icons_system.back_v1= com.gliffy.shape.android.android_v1.icons_system.down_v1=mxgraph.ios7.misc.down #com.gliffy.shape.android.android_v1.icons_system.home_v1= @@ -705,9 +699,9 @@ com.gliffy.shape.aws.aws_v1.sdks.python=mxgraph.aws3.android;fillColor=#FFD44F com.gliffy.shape.aws.aws_v1.sdks.ruby=mxgraph.aws3.android;fillColor=#AE1F23 com.gliffy.shape.aws.aws_v1.sdks.tools_for_windows_power_shell=mxgraph.aws3.toolkit_for_windows_powershell;fillColor=#737373 # AWS STORAGE AND CONTENT DELIVERY -com.gliffy.shape.aws.aws_v1.storage_and_content_delivery.amazon_cloud_front=mxgraph.aws3.cloudfront;fillColor=#F58536 +com.gliffy.shape.aws.aws_v1.storage_and_content_delivery.amazon_cloud_front=mxgraph.aws3.cloudfront;fillColor=#E05243 com.gliffy.shape.aws.aws_v1.storage_and_content_delivery.amazon_cloud_front_download_distribution=mxgraph.aws3.download_distribution;fillColor=#F58536 -com.gliffy.shape.aws.aws_v1.storage_and_content_delivery.amazon_cloud_front_edge_location=mxgraph.aws3.edge_location;fillColor=#F58536 +com.gliffy.shape.aws.aws_v1.storage_and_content_delivery.amazon_cloud_front_edge_location=mxgraph.aws3.edge_location;fillColor=#E05243 com.gliffy.shape.aws.aws_v1.storage_and_content_delivery.amazon_cloud_front_streaming_distribution=mxgraph.aws3.streaming_distribution;fillColor=#F58536 com.gliffy.shape.aws.aws_v1.storage_and_content_delivery.amazon_ebs=mxgraph.aws3.volume;fillColor=#E05243 com.gliffy.shape.aws.aws_v1.storage_and_content_delivery.amazon_ebs_snapshot=mxgraph.aws3.snapshot;fillColor=#E05243 @@ -1045,6 +1039,7 @@ com.gliffy.shape.network.network_v4.home.subwoofer=mxgraph.cisco.computers_and_p com.gliffy.shape.network.network_v4.home.tablet=mxgraph.android.tab2 com.gliffy.shape.network.network_v4.home.wireless_modem=mxgraph.networks.wireless_hub;strokeColor=#ffffff com.gliffy.shape.network.network_v3.home.firewall=image;image=img/lib/clip_art/networking/Firewall-page1_128x128.png +#this has fixed fill color, gradient color, and stroke width. Fill color is mapped to stroke color! com.gliffy.shape.network.network_v3.home.cloud=cloud;strokeColor=#ffffff com.gliffy.shape.network.network_v3.home.comm_link=mxgraph.networks.comm_link;strokeColor=#ffffff com.gliffy.shape.network.network_v3.home.server=image;image=img/lib/clip_art/computers/Server_Tower_128x128.png @@ -1127,7 +1122,7 @@ com.gliffy.shape.network.network_v3.business.user=image;image=img/lib/clip_art/p com.gliffy.shape.network.network_v3.business.user_female=image;image=img/lib/clip_art/people/Worker_Woman_128x128.png com.gliffy.shape.network.network_v3.business.user_male=image;image=img/lib/clip_art/people/Tech_Man_128x128.png #composite -#com.gliffy.shape.network.network_v3.business.user_group= +com.gliffy.shape.network.network_v3.business.user_group=rect com.gliffy.shape.network.network_v3.business.server=image;image=img/lib/clip_art/computers/Server_Tower_128x128.png com.gliffy.shape.network.network_v3.business.database_server=image;image=img/lib/clip_art/computers/Server_Tower_128x128.png com.gliffy.shape.network.network_v3.business.mail_server=image;image=img/lib/clip_art/computers/Server_Tower_128x128.png @@ -1148,7 +1143,8 @@ com.gliffy.shape.network.network_v3.business.multi_u_server=image;image=img/lib/ com.gliffy.shape.network.network_v3.business.rack=image;image=img/lib/clip_art/computers/Server_Rack_Empty_128x128.png #com.gliffy.shape.network.network_v3.business.telephone= #com.gliffy.shape.network.network_v3.business.flash_drive= -#com.gliffy.shape.network.network_v3.business.tape_backup= +#It needs a new modern icon to match the remaining icons +com.gliffy.shape.network.network_v3.business.tape_backup=mxgraph.networks.tape_storage;strokeColor=#ffffff #com.gliffy.shape.network.network_v3.business.video_projector= #com.gliffy.shape.network.network_v3.business.video_screen= #com.gliffy.shape.network.network_v3.business.satellite= @@ -1162,7 +1158,8 @@ com.gliffy.shape.network.network_v3.rack.power_strip_1u=mxgraph.rack.dell.power_ com.gliffy.shape.network.network_v3.rack.spacer_1u=mxgraph.rackGeneral.plate;fillColor=#e8e8e8;strokeColor=#666666 com.gliffy.shape.network.network_v3.rack.tray_1u=mxgraph.rackGeneral.plate;fillColor=#e8e8e8;strokeColor=#666666 com.gliffy.shape.network.network_v3.rack.hub_switch_2u=mxgraph.rack.general.cat5e_enhanced_patch_panel_48_ports;strokeColor=#666666 -#com.gliffy.shape.network.network_v3.rack.lcd_7u= +#TODO needs a better icon +com.gliffy.shape.network.network_v3.rack.lcd_7u=mxgraph.office.devices.lcd_monitor com.gliffy.shape.network.network_v3.rack.rack=mxgraph.rackGeneral.container;container=1;collapsible=0;childLayout=rack;marginLeft=9;marginRight=9;marginTop=21;marginBottom=22;textColor=#666666;numDisp=off;strokeColor=#666666 # NETWORK v4 RACK com.gliffy.shape.network.network_v4.rack.rack_server=mxgraph.rack.cisco.cisco_ucs_c22_m3_server @@ -1269,30 +1266,25 @@ com.gliffy.shape.ui.ui_v3.containers_content.note=rect;fillColor=#fff0ab;strokeC # UI v3 NAVIGATION com.gliffy.shape.ui.ui_v3.navigation.btn_circle_previous=mxgraph.ios.iArrowIcon;fillColor2=#FFFFFF com.gliffy.shape.ui.ui_v3.navigation.btn_circle_next=mxgraph.ios.iArrowIcon;fillColor2=#FFFFFF;flipH=1 -#composite #com.gliffy.shape.ui.ui_v3.navigation.btn_rect_previous= -#composite #com.gliffy.shape.ui.ui_v3.navigation.btn_rect_next= -#composite #com.gliffy.shape.ui.ui_v3.navigation.pagination= com.gliffy.shape.ui.ui_v3.navigation.slide_indicator=mxgraph.mockup.navigation.pageControl;fillColor=#999999;strokeColor=#cccccc #composite -#com.gliffy.shape.ui.ui_v3.navigation.navbar= +com.gliffy.shape.ui.ui_v3.navigation.navbar=rect #composite -#com.gliffy.shape.ui.ui_v3.navigation.navbar_vertical= +com.gliffy.shape.ui.ui_v3.navigation.navbar_vertical=rect # UI v3 FORMS CONTROLS com.gliffy.shape.ui.ui_v3.forms_controls.input_field=rect com.gliffy.shape.ui.ui_v3.forms_controls.text_area=rect com.gliffy.shape.ui.ui_v3.forms_controls.input_search=mxgraph.mockup.forms.searchBox;mainText= com.gliffy.shape.ui.ui_v3.forms_controls.combo_box=mxgraph.mockup.forms.comboBox;fillColor=#cccccc;fillColor2=#cccccc;mainText= -#composite #com.gliffy.shape.ui.ui_v3.forms_controls.calendar= #composite -#com.gliffy.shape.ui.ui_v3.forms_controls.dropdown= +com.gliffy.shape.ui.ui_v3.forms_controls.dropdown=rect com.gliffy.shape.ui.ui_v3.forms_controls.checkbox=mxgraph.mockup.forms.checkbox;rSize=0 com.gliffy.shape.ui.ui_v3.forms_controls.radio_btn=ellipse;perimeter=ellipsePerimeter com.gliffy.shape.ui.ui_v3.forms_controls.selector=mxgraph.mockup.forms.spinner;spinLayout=right;spinStyle=normal;adjStyle=triangle;fillColor=#999999;mainText= -#composite #com.gliffy.shape.ui.ui_v3.forms_controls.date= com.gliffy.shape.ui.ui_v3.forms_controls.color_picker=mxgraph.mockup.forms.colorPicker;chosenColor=#aaddff com.gliffy.shape.ui.ui_v3.forms_controls.button=rect @@ -1332,7 +1324,7 @@ com.gliffy.shape.ui.ui_v2.forms_components.scrollbar_horizontal=mxgraph.mockup.n com.gliffy.shape.ui.ui_v2.forms_components.text_area=rect com.gliffy.shape.ui.ui_v2.forms_components.slider_vertical=mxgraph.mockup.forms.horSlider;sliderStyle=basic;sliderPos=50;handleStyle=circle;fillColor2=#ddeeff;direction=south com.gliffy.shape.ui.ui_v2.forms_components.slider_horizontal=mxgraph.mockup.forms.horSlider;sliderStyle=basic;sliderPos=50;handleStyle=circle;fillColor2=#ddeeff -com.gliffy.shape.ui.ui_v2.forms_components.button=rect;rounded=1 +com.gliffy.shape.ui.ui_v2.forms_components.button=rect;rounded=1;arcSize=15;absoluteArcSize=1 com.gliffy.shape.ui.ui_v2.forms_components.radio_button= com.gliffy.shape.ui.ui_v2.forms_components.checkbox=mxgraph.mockup.forms.checkbox;rSize=0 com.gliffy.shape.ui.ui_v2.forms_components.combobox=mxgraph.mockup.forms.comboBox;fillColor=#ddeeff;fillColor2=#aaddff;mainText= @@ -1410,110 +1402,101 @@ com.gliffy.shape.venn.outline.default.FFFF00=ellipse;perimeter=ellipsePerimeter; # FLOORPLAN v2 # # FLOORPLAN v2 STRUCTURE -com.gliffy.shape.floorplan.floorplan_v2.structure.door1=mxgraph.floorplan.doorLeft;direction=north;flipV=1 -com.gliffy.shape.floorplan.floorplan_v2.structure.door2=mxgraph.floorplan.doorRight;direction=north;flipH=1 -com.gliffy.shape.floorplan.floorplan_v2.structure.wall_horizontal=mxgraph.floorplan.wall -com.gliffy.shape.floorplan.floorplan_v2.structure.wall_vertical=mxgraph.floorplan.wall;direction=south -com.gliffy.shape.floorplan.floorplan_v2.structure.window_single=mxgraph.floorplan.window -com.gliffy.shape.floorplan.floorplan_v2.structure.dimension=mxgraph.floorplan.dimension -com.gliffy.shape.floorplan.floorplan_v2.structure.stairs1=mxgraph.floorplan.stairs -com.gliffy.shape.floorplan.floorplan_v2.structure.stairs2=mxgraph.floorplan.stairsRest -com.gliffy.shape.floorplan.floorplan_v2.structure.elevator=mxgraph.floorplan.elevator -com.gliffy.shape.floorplan.floorplan_v2.structure.fireplace=mxgraph.floorplan.fireplace +com.gliffy.shape.floorplan.floorplan_v2.structure.door1=mxgraph.floorplan.doorLeft;direction=north;flipV=1;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.structure.door2=mxgraph.floorplan.doorRight;direction=north;flipH=1;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.structure.wall_horizontal=mxgraph.floorplan.wall;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.structure.wall_vertical=mxgraph.floorplan.wall;direction=south;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.structure.window_single=mxgraph.floorplan.window;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.structure.dimension=mxgraph.floorplan.dimension;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.structure.stairs1=mxgraph.floorplan.stairs;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.structure.stairs2=mxgraph.floorplan.stairsRest;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.structure.elevator=mxgraph.floorplan.elevator;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.structure.fireplace=mxgraph.floorplan.fireplace;strokeWidth=1 #com.gliffy.shape.floorplan.floorplan_v2.structure.tile_floor= #com.gliffy.shape.floorplan.floorplan_v2.structure.wood_floor= #com.gliffy.shape.floorplan.floorplan_v2.structure.light_wood_floor= # FLOORPLAN v2 BEDROOM -com.gliffy.shape.floorplan.floorplan_v2.bedroom.bed_double=mxgraph.floorplan.bed_double -com.gliffy.shape.floorplan.floorplan_v2.bedroom.bed_queen=mxgraph.floorplan.bed_double -com.gliffy.shape.floorplan.floorplan_v2.bedroom.bed_single=mxgraph.floorplan.bed_single -com.gliffy.shape.floorplan.floorplan_v2.bedroom.dresser=mxgraph.floorplan.dresser -com.gliffy.shape.floorplan.floorplan_v2.bedroom.armoire=mxgraph.floorplan.dresser -com.gliffy.shape.floorplan.floorplan_v2.bedroom.lamp=mxgraph.floorplan.floor_lamp +com.gliffy.shape.floorplan.floorplan_v2.bedroom.bed_double=mxgraph.floorplan.bed_double;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.bedroom.bed_queen=mxgraph.floorplan.bed_double;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.bedroom.bed_single=mxgraph.floorplan.bed_single;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.bedroom.dresser=mxgraph.floorplan.dresser;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.bedroom.armoire=mxgraph.floorplan.dresser;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.bedroom.lamp=mxgraph.floorplan.floor_lamp;strokeWidth=1 # FLOORPLAN v2 LIVING ROOM -#composite -com.gliffy.shape.floorplan.floorplan_v2.living_room.coffee_table=mxgraph.floorplan.table -com.gliffy.shape.floorplan.floorplan_v2.living_room.bookcase=mxgraph.floorplan.bookcase -com.gliffy.shape.floorplan.floorplan_v2.living_room.floor_lamp=mxgraph.floorplan.floor_lamp -com.gliffy.shape.floorplan.floorplan_v2.living_room.lamp=mxgraph.floorplan.floor_lamp -com.gliffy.shape.floorplan.floorplan_v2.living_room.side_table=rect -com.gliffy.shape.floorplan.floorplan_v2.living_room.couch=mxgraph.floorplan.couch -com.gliffy.shape.floorplan.floorplan_v2.living_room.plant=mxgraph.floorplan.plant -com.gliffy.shape.floorplan.floorplan_v2.living_room.flat_tv=mxgraph.floorplan.flat_tv -com.gliffy.shape.floorplan.floorplan_v2.living_room.tv=mxgraph.floorplan.crt_tv -com.gliffy.shape.floorplan.floorplan_v2.living_room.loveseat=mxgraph.floorplan.couch -com.gliffy.shape.floorplan.floorplan_v2.living_room.small_loveseat=mxgraph.floorplan.sofa +com.gliffy.shape.floorplan.floorplan_v2.living_room.coffee_table=mxgraph.floorplan.table;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.living_room.bookcase=mxgraph.floorplan.bookcase;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.living_room.floor_lamp=mxgraph.floorplan.floor_lamp;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.living_room.lamp=mxgraph.floorplan.floor_lamp;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.living_room.side_table=rect;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.living_room.couch=mxgraph.floorplan.couch;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.living_room.plant=mxgraph.floorplan.plant;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.living_room.flat_tv=mxgraph.floorplan.flat_tv;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.living_room.tv=mxgraph.floorplan.crt_tv;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.living_room.loveseat=mxgraph.floorplan.couch;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.living_room.small_loveseat=mxgraph.floorplan.sofa;strokeWidth=1 #com.gliffy.shape.floorplan.floorplan_v2.living_room.ottoman= -com.gliffy.shape.floorplan.floorplan_v2.living_room.circular_rug=ellipse -com.gliffy.shape.floorplan.floorplan_v2.living_room.rectangular_rug=rect +com.gliffy.shape.floorplan.floorplan_v2.living_room.circular_rug=ellipse;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.living_room.rectangular_rug=rect;strokeWidth=1 # FLOORPLAN v2 DINING ROOM -com.gliffy.shape.floorplan.floorplan_v2.dining_room.table_wood=rect -com.gliffy.shape.floorplan.floorplan_v2.dining_room.table_glass=rect -com.gliffy.shape.floorplan.floorplan_v2.dining_room.chair=mxgraph.floorplan.chair -#composite -com.gliffy.shape.floorplan.floorplan_v2.dining_room.table_4_chairs=mxgraph.floorplan.table_1 -#composite -com.gliffy.shape.floorplan.floorplan_v2.dining_room.table_4_chairs_square=mxgraph.floorplan.table_2 -#composite -com.gliffy.shape.floorplan.floorplan_v2.dining_room.table_6_chairs_wood=mxgraph.floorplan.table_4 -#composite -com.gliffy.shape.floorplan.floorplan_v2.dining_room.table_6_chairs=mxgraph.floorplan.table_4 -#composite -com.gliffy.shape.floorplan.floorplan_v2.dining_room.table_circular=mxgraph.floorplan.table_3 +com.gliffy.shape.floorplan.floorplan_v2.dining_room.table_wood=rect;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.dining_room.table_glass=rect;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.dining_room.chair=mxgraph.floorplan.chair;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.dining_room.table_4_chairs=mxgraph.floorplan.table_1;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.dining_room.table_4_chairs_square=mxgraph.floorplan.table_2;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.dining_room.table_6_chairs_wood=mxgraph.floorplan.table_4;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.dining_room.table_6_chairs=mxgraph.floorplan.table_4;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.dining_room.table_circular=mxgraph.floorplan.table_3;strokeWidth=1 # FLOORPLAN v2 KITCHEN -com.gliffy.shape.floorplan.floorplan_v2.kitchen.stool=mxgraph.floorplan.chair;flipV=1 -com.gliffy.shape.floorplan.floorplan_v2.kitchen.range=mxgraph.floorplan.range_2 -com.gliffy.shape.floorplan.floorplan_v2.kitchen.refrigerator=mxgraph.floorplan.refrigerator -com.gliffy.shape.floorplan.floorplan_v2.kitchen.sink_single1=mxgraph.floorplan.sink_1 -com.gliffy.shape.floorplan.floorplan_v2.kitchen.sink_single2=mxgraph.floorplan.sink_2 -com.gliffy.shape.floorplan.floorplan_v2.kitchen.sink_double_2d=mxgraph.floorplan.sink_double +com.gliffy.shape.floorplan.floorplan_v2.kitchen.stool=mxgraph.floorplan.chair;flipV=1;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.kitchen.range=mxgraph.floorplan.range_2;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.kitchen.refrigerator=mxgraph.floorplan.refrigerator;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.kitchen.sink_single1=mxgraph.floorplan.sink_1;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.kitchen.sink_single2=mxgraph.floorplan.sink_2;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.kitchen.sink_double_2d=mxgraph.floorplan.sink_double;strokeWidth=1 # FLOORPLAN v2 BATHROOM -com.gliffy.shape.floorplan.floorplan_v2.bathroom.bathtub=mxgraph.floorplan.bathtub;flipH=1 -com.gliffy.shape.floorplan.floorplan_v2.bathroom.toilet=mxgraph.floorplan.toilet -com.gliffy.shape.floorplan.floorplan_v2.bathroom.shower=mxgraph.floorplan.shower -com.gliffy.shape.floorplan.floorplan_v2.bathroom.sink_single1=mxgraph.floorplan.sink_1 -com.gliffy.shape.floorplan.floorplan_v2.bathroom.sink_single2=mxgraph.floorplan.sink_2 +com.gliffy.shape.floorplan.floorplan_v2.bathroom.bathtub=mxgraph.floorplan.bathtub;flipH=1;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.bathroom.toilet=mxgraph.floorplan.toilet;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.bathroom.shower=mxgraph.floorplan.shower;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.bathroom.sink_single1=mxgraph.floorplan.sink_1;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.bathroom.sink_single2=mxgraph.floorplan.sink_2;strokeWidth=1 # FLOORPLAN v2 OFFICE -com.gliffy.shape.floorplan.floorplan_v2.office.cubicle=mxgraph.floorplan.wallU -com.gliffy.shape.floorplan.floorplan_v2.office.wall_horizontal=mxgraph.floorplan.wall -com.gliffy.shape.floorplan.floorplan_v2.office.wall_vertical=mxgraph.floorplan.wall;direction=south -com.gliffy.shape.floorplan.floorplan_v2.office.office_chair=mxgraph.floorplan.office_chair -com.gliffy.shape.floorplan.floorplan_v2.office.computer_crt=mxgraph.floorplan.workstation -com.gliffy.shape.floorplan.floorplan_v2.office.desk_l=mxgraph.floorplan.desk_corner_2 -com.gliffy.shape.floorplan.floorplan_v2.office.desk_office=rect -com.gliffy.shape.floorplan.floorplan_v2.office.desk_metal=rect -com.gliffy.shape.floorplan.floorplan_v2.office.desk_metal_l=mxgraph.floorplan.desk_corner_2 -com.gliffy.shape.floorplan.floorplan_v2.office.computer_lcd=mxgraph.floorplan.workstation -com.gliffy.shape.floorplan.floorplan_v2.office.copier=mxgraph.floorplan.copier +com.gliffy.shape.floorplan.floorplan_v2.office.cubicle=mxgraph.floorplan.wallU;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.office.wall_horizontal=mxgraph.floorplan.wall;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.office.wall_vertical=mxgraph.floorplan.wall;direction=south;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.office.office_chair=mxgraph.floorplan.office_chair;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.office.computer_crt=mxgraph.floorplan.workstation;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.office.desk_l=mxgraph.floorplan.desk_corner_2;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.office.desk_office=rect;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.office.desk_metal=rect;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.office.desk_metal_l=mxgraph.floorplan.desk_corner_2;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.office.computer_lcd=mxgraph.floorplan.workstation;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.office.copier=mxgraph.floorplan.copier;strokeWidth=1 #com.gliffy.shape.floorplan.floorplan_v2.office.desk_lamp= -com.gliffy.shape.floorplan.floorplan_v2.office.laptop=mxgraph.floorplan.laptop +com.gliffy.shape.floorplan.floorplan_v2.office.laptop=mxgraph.floorplan.laptop;strokeWidth=1 #com.gliffy.shape.floorplan.floorplan_v2.office.telephone= -com.gliffy.shape.floorplan.floorplan_v2.office.printer=mxgraph.floorplan.printer -com.gliffy.shape.floorplan.floorplan_v2.office.scanner=roundrect -#composite -com.gliffy.shape.floorplan.floorplan_v2.office.table_3person=mxgraph.floorplan.table_3 -#composite -com.gliffy.shape.floorplan.floorplan_v2.office.table_6person=mxgraph.floorplan.table_3 -#composite -com.gliffy.shape.floorplan.floorplan_v2.office.table_10person=mxgraph.floorplan.table_5 -com.gliffy.shape.floorplan.floorplan_v2.office.vending_machine=roundrect +com.gliffy.shape.floorplan.floorplan_v2.office.printer=mxgraph.floorplan.printer;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.office.scanner=roundrect;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.office.table_3person=mxgraph.floorplan.table_3;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.office.table_6person=mxgraph.floorplan.table_3;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.office.table_10person=mxgraph.floorplan.table_5;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.office.vending_machine=roundrect;strokeWidth=1 #com.gliffy.shape.floorplan.floorplan_v2.office.video_projector= #com.gliffy.shape.floorplan.floorplan_v2.office.video_screen= -com.gliffy.shape.floorplan.floorplan_v2.office.water_cooler=mxgraph.floorplan.water_cooler -com.gliffy.shape.floorplan.floorplan_v2.office.plant=mxgraph.floorplan.plant +com.gliffy.shape.floorplan.floorplan_v2.office.water_cooler=mxgraph.floorplan.water_cooler;strokeWidth=1 +com.gliffy.shape.floorplan.floorplan_v2.office.plant=mxgraph.floorplan.plant;strokeWidth=1 # FLOORPLAN v2 MISCELLANEOUS #com.gliffy.shape.floorplan.floorplan_v2.miscellaneous.washing_machine= #com.gliffy.shape.floorplan.floorplan_v2.miscellaneous.dryer= -com.gliffy.shape.floorplan.floorplan_v2.miscellaneous.piano=mxgraph.floorplan.piano +com.gliffy.shape.floorplan.floorplan_v2.miscellaneous.piano=mxgraph.floorplan.piano;strokeWidth=1 #com.gliffy.shape.floorplan.floorplan_v2.miscellaneous.pool_table= #com.gliffy.shape.floorplan.floorplan_v2.miscellaneous.drumset= #com.gliffy.shape.floorplan.floorplan_v2.miscellaneous.gas_furnace= # # MINDMAP # -com.gliffy.shape.mindmap.mindmap_v1.default.main_topic=rect;rounded=1 -com.gliffy.shape.mindmap.mindmap_v1.default.subtopic=rect;rounded=1 -com.gliffy.shape.mindmap.mindmap_v1.default.child_node=rect;rounded=1;dashed=1 +com.gliffy.shape.mindmap.mindmap_v1.default.main_topic=rect;rounded=1;arcSize=15;absoluteArcSize=1 +com.gliffy.shape.mindmap.mindmap_v1.default.subtopic=rect;rounded=1;arcSize=15;absoluteArcSize=1 +com.gliffy.shape.mindmap.mindmap_v1.default.child_node=rect;rounded=1;dashed=1;arcSize=15;absoluteArcSize=1 # # Child shape TID @@ -1530,7 +1513,18 @@ com.gliffy.stencil.boundary_lifeline.uml_v2=umlBoundary com.gliffy.stencil.object_timeline.uml_v1=line;direction=south;dashed=1 com.gliffy.stencil.control_lifeline.uml_v2=umlControl com.gliffy.stencil.entity_lifeline.uml_v2=umlEntity -com.gliffy.stencil.ui.ui_v3.containers_content.speech_bubble=rect;rounded=1 +com.gliffy.stencil.ui.ui_v3.containers_content.speech_bubble=rect;rounded=1;arcSize=15;absoluteArcSize=1 com.gliffy.stencil.ui.ui_v3.containers_content.speech_bubble_right=mxgraph.basic.orthogonal_triangle;direction=south com.gliffy.stencil.ui.ui_v3.containers_content.speech_bubble_left=mxgraph.basic.orthogonal_triangle;direction=south;flipH=1 com.gliffy.stencil.rectangle.basic_v1=rect +com.gliffy.stencil.iphone.iphone_ios7.navigation.action_back=mxgraph.ios7.misc.left;strokeWidth=3;strokeColor=#157EFA +com.gliffy.stencil.round_rectangle.basic_v1=rect;rounded=1;arcSize=15;absoluteArcSize=1 +com.gliffy.stencil.triangle.basic_v1=mxgraph.flowchart.extract_or_measurement +com.gliffy.stencil.rectangle.fill_line_top=partialRectangle;bottom=0;right=0;left=0 +com.gliffy.stencil.rectangle.white_no_line_opacity_68=rect;strokeColor=none;opacity=68 +com.gliffy.stencil.rectangle.fill_line_bottom=partialRectangle;top=0;right=0;left=0 +com.gliffy.stencil.rectangle.no_fill_line_bottom_2px_off=partialRectangle;top=0;right=0;left=0;fillColor=none +com.gliffy.stencil.rectangle.no_fill_half_line_right=partialRectangle;top=0;bottom=0;left=0 +com.gliffy.stencil.rectangle.basic_v1_whitened_68_percent=rect;opacity=68 +#in current configuration, we cannot add subshapes (the circle) +com.gliffy.stencil.rectangle.fill_no_line_circle_left=rect;strokeColor=none \ No newline at end of file diff --git a/src/main/java/com/mxgraph/io/gliffy/model/GliffyObject.java b/src/main/java/com/mxgraph/io/gliffy/model/GliffyObject.java index 5ed19da7..31fc60fc 100644 --- a/src/main/java/com/mxgraph/io/gliffy/model/GliffyObject.java +++ b/src/main/java/com/mxgraph/io/gliffy/model/GliffyObject.java @@ -8,7 +8,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.stream.Stream; import com.mxgraph.io.gliffy.importer.PostDeserializer.PostDeserializable; import com.mxgraph.model.mxCell; @@ -27,6 +26,8 @@ public class GliffyObject implements PostDeserializable private static Set MINDMAP_SHAPES = new HashSet<>(); + private static Set FILLCLR_IS_STROKECLR_SHAPES = new HashSet<>(); + private static Map SHAPES_COORD_FIX = new HashMap<>(); public float x; @@ -148,18 +149,53 @@ public class GliffyObject implements PostDeserializable GROUP_SHAPES.add("com.gliffy.shape.uml.uml_v1.default.object_timeline"); GROUP_SHAPES.add("com.gliffy.shape.uml.uml_v1.default.class"); GROUP_SHAPES.add("com.gliffy.shape.uml.uml_v1.default.object"); - + //ios + GROUP_SHAPES.add("com.gliffy.shape.iphone.iphone_ios7.containers_content.table"); + GROUP_SHAPES.add("com.gliffy.shape.iphone.iphone_ios7.forms_controls.button_stack"); + GROUP_SHAPES.add("com.gliffy.shape.iphone.iphone_ios7.forms_controls.alert_2options"); + GROUP_SHAPES.add("com.gliffy.shape.iphone.iphone_ios7.forms_controls.alert"); + GROUP_SHAPES.add("com.gliffy.shape.iphone.iphone_ios7.navigation.contextual_menu"); + GROUP_SHAPES.add("com.gliffy.shape.iphone.iphone_ios7.navigation.nav_3tabs"); + GROUP_SHAPES.add("com.gliffy.shape.iphone.iphone_ios7.containers_content.title_bar"); + GROUP_SHAPES.add("com.gliffy.shape.iphone.iphone_ios7.navigation.tab_bar"); + GROUP_SHAPES.add("com.gliffy.shape.iphone.iphone_ios7.forms_controls.search"); + //android + GROUP_SHAPES.add("com.gliffy.shape.android.android_v1.general.dialog"); + GROUP_SHAPES.add("com.gliffy.shape.android.android_v1.general.list_1line"); + GROUP_SHAPES.add("com.gliffy.shape.android.android_v1.general.list_2lines"); + GROUP_SHAPES.add("com.gliffy.shape.android.android_v1.general.tabs01"); + GROUP_SHAPES.add("com.gliffy.shape.android.android_v1.general.tabs02"); + //others + GROUP_SHAPES.add("com.gliffy.shape.network.network_v3.business.user_group"); + //ui + GROUP_SHAPES.add("com.gliffy.shape.ui.ui_v3.navigation.navbar"); + GROUP_SHAPES.add("com.gliffy.shape.ui.ui_v3.navigation.navbar_vertical"); + GROUP_SHAPES.add("com.gliffy.shape.ui.ui_v3.forms_controls.dropdown"); + //It is a group but we have one similar + //GROUP_SHAPES.add("com.gliffy.shape.ui.ui_v3.forms_controls.audio_controls"); + MINDMAP_SHAPES.add("com.gliffy.shape.mindmap.mindmap_v1.default.main_topic"); MINDMAP_SHAPES.add("com.gliffy.shape.mindmap.mindmap_v1.default.subtopic"); MINDMAP_SHAPES.add("com.gliffy.shape.mindmap.mindmap_v1.default.child_node"); - + //This map is used to change Gliffy coordinates to match mxGraph ones + //Format [xShift, yShift, widthShift, heightShift, DONT REPOSITION TEXT] values between ]-1, 1[ means percentage SHAPES_COORD_FIX.put("com.gliffy.shape.flowchart.flowchart_v1.default.paper_tape", new double[]{0, -0.1, 0, 0.2}); SHAPES_COORD_FIX.put("com.gliffy.shape.uml.uml_v1.default.node", new double[]{0, -10, 10, 10}); SHAPES_COORD_FIX.put("com.gliffy.shape.uml.uml_v2.deployment.node", new double[]{0, -10, 10, 10}); SHAPES_COORD_FIX.put("com.gliffy.shape.uml.uml_v2.deployment.device_node", new double[]{0, -10, 10, 10}); SHAPES_COORD_FIX.put("com.gliffy.shape.uml.uml_v2.deployment.execution_environment_node", new double[]{0, -10, 10, 10}); SHAPES_COORD_FIX.put("com.gliffy.shape.flowchart.flowchart_v1.default.data_storage", new double[]{0, 0, 0.115, 0}); + //these shapes cannot be resized (width is fixed) in Gliffy + SHAPES_COORD_FIX.put("com.gliffy.stencil.entity_lifeline.uml_v2", new double[]{10, 0, -20, 0}); + SHAPES_COORD_FIX.put("com.gliffy.stencil.boundary_lifeline.uml_v2", new double[]{35, 0, -70, 0}); + SHAPES_COORD_FIX.put("com.gliffy.stencil.control_lifeline.uml_v2", new double[]{10, 0, -20, 0}); + + //Our browser window has a larger header so increase it + SHAPES_COORD_FIX.put("com.gliffy.shape.ui.ui_v3.containers_content.browser", new double[]{0, -40, 0, 40, 1}); + + //There are many shapes where fillColor is the strokeColor + FILLCLR_IS_STROKECLR_SHAPES.add("com.gliffy.stencil.rectangle.no_fill_line_bottom_2px_off"); } public GliffyObject() @@ -257,9 +293,9 @@ public class GliffyObject implements PostDeserializable public boolean isGroup() { - return (uid != null && (GROUP_SHAPES.contains(uid) || uid.startsWith("com.gliffy.shape.table"))) + return (hasChildren() && ((uid != null && (GROUP_SHAPES.contains(uid) || uid.startsWith("com.gliffy.shape.table"))) //Since we treat text in a different way (added as cell value instead of another child cell, this is probably the best way to detect groups when uid is null) - || (uid == null && hasChildren() && !children.get(0).isText()); + || (uid == null && !children.get(0).isText()))); } public boolean isSelection() @@ -517,7 +553,7 @@ public class GliffyObject implements PostDeserializable public void adjustGeo(mxGeometry geo) { - double[] arr = SHAPES_COORD_FIX.get(uid); + double[] arr = SHAPES_COORD_FIX.get(uid != null? uid : (graphic != null && graphic.getShape() != null ? graphic.getShape().tid : null)); if (arr != null) { @@ -536,7 +572,7 @@ public class GliffyObject implements PostDeserializable { double[] arr = SHAPES_COORD_FIX.get(uid); - if (arr != null) + if (arr != null && arr.length == 4) { mxGeometry shifts = getAdjustShifts(arr, x, y, width, height); @@ -544,4 +580,9 @@ public class GliffyObject implements PostDeserializable textObject.y -= shifts.getY(); } } + + public boolean isUseFillColor4StrokeColor() + { + return FILLCLR_IS_STROKECLR_SHAPES.contains(uid != null? uid : (graphic != null && graphic.getShape() != null ? graphic.getShape().tid : null)); + } } diff --git a/src/main/java/com/mxgraph/io/gliffy/model/GliffyText.java b/src/main/java/com/mxgraph/io/gliffy/model/GliffyText.java index 57231610..f87a83e1 100644 --- a/src/main/java/com/mxgraph/io/gliffy/model/GliffyText.java +++ b/src/main/java/com/mxgraph/io/gliffy/model/GliffyText.java @@ -29,6 +29,8 @@ public class GliffyText implements PostDeserializer.PostDeserializable public Double lineTValue = 0.5;//places the text in the middle of the line public Integer linePerpValue; + + public String cardinalityType; public String overflow; @@ -201,6 +203,11 @@ public class GliffyText implements PostDeserializer.PostDeserializable return null; } + public void setHalign(String halign) + { + this.halign = halign; + } + public void setValign(String valign) { this.valign = valign; diff --git a/src/main/java/com/mxgraph/io/gliffy/model/Graphic.java b/src/main/java/com/mxgraph/io/gliffy/model/Graphic.java index dc150116..cb7f7a32 100644 --- a/src/main/java/com/mxgraph/io/gliffy/model/Graphic.java +++ b/src/main/java/com/mxgraph/io/gliffy/model/Graphic.java @@ -45,6 +45,8 @@ public class Graphic public Integer endArrow; public String interpolationType; + + public Integer cornerRadius; public List controlPath = new ArrayList(); } diff --git a/src/main/java/com/mxgraph/online/ProxyServlet.java b/src/main/java/com/mxgraph/online/ProxyServlet.java index eff66b3c..3391e606 100644 --- a/src/main/java/com/mxgraph/online/ProxyServlet.java +++ b/src/main/java/com/mxgraph/online/ProxyServlet.java @@ -40,8 +40,23 @@ public class ProxyServlet extends HttpServlet HttpServletResponse response) throws ServletException, IOException { String urlParam = request.getParameter("url"); + + // build the UML source from the compressed request parameter + String ref = request.getHeader("referer"); + String dom = null; - if (urlParam != null) + if (ref != null && ref.toLowerCase() + .matches("https?://([a-z0-9,-]+[.])*draw[.]io/.*")) + { + dom = ref.toLowerCase().substring(0, ref.indexOf(".draw.io/") + 8); + } + else if (ref != null && ref.toLowerCase() + .matches("https?://([a-z0-9,-]+[.])*quipelements[.]com/.*")) + { + dom = ref.toLowerCase().substring(0, ref.indexOf(".quipelements.com/") + 17); + } + + if (dom != null && urlParam != null) { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); @@ -56,26 +71,7 @@ public class ProxyServlet extends HttpServlet response.setHeader("Pragma", "no-cache"); // HTTP 1.0 response.setHeader("Cache-control", "private, no-cache, no-store"); response.setHeader("Expires", "0"); - - // build the UML source from the compressed request parameter - String ref = request.getHeader("referer"); - String dom = null; - - if (ref != null && ref.toLowerCase() - .matches("https?://([a-z0-9,-]+[.])*draw[.]io/.*")) - { - dom = ref.toLowerCase().substring(0, ref.indexOf(".draw.io/") + 8); - } - else if (ref != null && ref.toLowerCase() - .matches("https?://([a-z0-9,-]+[.])*quipelements[.]com/.*")) - { - dom = ref.toLowerCase().substring(0, ref.indexOf(".quipelements.com/") + 17); - } - - if (dom != null) - { - response.addHeader("Access-Control-Allow-Origin", dom); - } + response.addHeader("Access-Control-Allow-Origin", dom); // Status code pass-through if (connection instanceof HttpURLConnection) diff --git a/src/main/webapp/cache.manifest b/src/main/webapp/cache.manifest index 83185429..fe38e6c3 100644 --- a/src/main/webapp/cache.manifest +++ b/src/main/webapp/cache.manifest @@ -1,7 +1,7 @@ CACHE MANIFEST # THIS FILE WAS GENERATED. DO NOT MODIFY! -# 03/15/2018 03:18 PM +# 03/21/2018 05:29 PM app.html index.html?offline=1 diff --git a/src/main/webapp/connect/confluence/connectUtils-1-4-8.js b/src/main/webapp/connect/confluence/connectUtils-1-4-8.js index 7f64e0c3..edd542f2 100644 --- a/src/main/webapp/connect/confluence/connectUtils-1-4-8.js +++ b/src/main/webapp/connect/confluence/connectUtils-1-4-8.js @@ -98,7 +98,7 @@ AC.initAsync = function(baseUrl) editor.setAttribute('frameborder', '0'); //editor.setAttribute('src', 'https://9674265b.ngrok.io/?dev=1&drawdev=1&' + editor.setAttribute('src', hostUrl + '/?' + - 'ui=atlas&p=ac&embed=1&modified=unsavedChanges' + + 'ui=atlas&p=ac148&embed=1&modified=unsavedChanges' + ((!AC.autoExit) ? '&saveAndExit=1' : '') + '&keepmodified=1&spin=1&libraries=1&proto=json' + ((lang != null) ? '&lang=' + lang : '') + ((site != null) ? '&site=' + encodeURIComponent(site) : '') + @@ -588,7 +588,7 @@ AC.init = function(baseUrl, location, pageId, editor, diagramName, initialXml, d if (fileExists) { - err(name, null, 'fileExists'); + err(name, name + ' already exists'); } else { diff --git a/src/main/webapp/connect/confluence/viewer-1-4-8.html b/src/main/webapp/connect/confluence/viewer-1-4-8.html index 1488415f..7237be4f 100644 --- a/src/main/webapp/connect/confluence/viewer-1-4-8.html +++ b/src/main/webapp/connect/confluence/viewer-1-4-8.html @@ -239,7 +239,7 @@ if (lang != null) // LATER: Disable responsive resize while lightbox shows var container = document.createElement('div'); container.style.cssText = 'position:absolute;box-sizing:border-box;' + - 'max-width:100%;margin-bottom:' + tbHeight +'px;border:1px solid transparent;'; + 'max-width:100%;border:1px solid transparent;'; document.body.appendChild(container); var doc = mxUtils.parseXml(xml); @@ -281,6 +281,8 @@ if (lang != null) width += 3; updateContainerWidth.apply(this, arguments); }; + + config.resize = true; } var viewer = new GraphViewer(container, doc.documentElement, config); @@ -290,7 +292,7 @@ if (lang != null) function updateHeight(height) { - AP.resize('100%', (tbHeight == 0) ? Math.ceil(height) : container.offsetHeight + tbHeight); + AP.resize('100%', Math.ceil(height) + tbHeight + 2 * border); }; viewer.graph.doResizeContainer = function(width, height) @@ -305,14 +307,14 @@ if (lang != null) updateHeight(height); }; - updateHeight(); + updateHeight(container.offsetHeight); viewer.showLightbox = function() { dialog.create( { header: name, - key: 'lightbox', + key: 'lightbox', size: 'fullscreen', customData: {id: id, name: name, revision: revision, page: viewer.currentPage, links: links}, chrome: true diff --git a/src/main/webapp/electron.js b/src/main/webapp/electron.js index f41fd21b..fabedcc0 100644 --- a/src/main/webapp/electron.js +++ b/src/main/webapp/electron.js @@ -20,7 +20,6 @@ function createWindow (opt = {}) { width: 1600, height: 1200, - nodeIntegration: false, 'web-security': false, allowRunningInsecureContent: __DEV__, webPreferences: { diff --git a/src/main/webapp/images/sidebar-cisco_safe.png b/src/main/webapp/images/sidebar-cisco_safe.png new file mode 100644 index 0000000000000000000000000000000000000000..d951c30a58983c8f588bd596258f859afc48a31d GIT binary patch literal 93445 zcmZsCbxfQ=*Y6_5wMB|skrtN%i#tV%>*7uqE$&j>p-|kR_~MJZyX)fa?tc4z-%W0A z^8RxEn4CG1%=66rPI6|#loX^f(TLFi005@UHwhI001gHKpmv}j{L{cC6Cwiu2mmE{ zHOaTPH-@5haH~{~YWBIgQtfK)MDck1^x1uN;p@wbUhDqr)6+NTj*^nn!^>OE#x)mY zv%#yLxnv_|%xUQGK3_BM!dkOw>!v{W?{%c7c+Gak!bP!B(U;=&qUEdWr`PK^|Chr( zmx1GnD{p%)@ds`gr@;v3qOWad6>i@OFP!W>LypvGuaEaesB6ID0NwwRO6F zI+{0n>0;ay-*f3>Rb^MH*}Qjr_xw26d9{D_`10UCa&nuK@N#+-IeB*bH~D#WasBFP zFn!=QGd6qi@~$%f^xJ@6-I`>&?~i-Tu^3-_7yOmA~Eo?el!y{8gaCRj5n%PVG#^^v1yY)8x?M!r|jc z&-wQGeM@!KO6FZ@R?b{_XLM)Z{@v~A?e_Ka<-=*nuzPU3rKX~}*tiH;N@)#l89VH zK3hH8{HtlQbTWC$*S1~m?)}@#3=49pMWH9mVXJ9xp_cOO>>_tfm7(H@%8DwN zsM25InfYU<2b;@_5HA(`g01%Gx9x_SNXOf?*1EQ?tD`OG#M0s106V}q5din2Lq7kkl z_)7+c9V%u?*}p~KydmBm$CzYXar-^TtUs`mYR37t%bMrkso+T}|F0yxg)LVu3Bu@Q zYq2vYf!UO4Hm})!e{W9>^}%!6v{bJbG-!Jl!4wq6_9UO*GVe(UzNm50N$x4>nj6uw zadf3;GCmyA^L*1Xv0W~7Ph34GfNNGBfBW^o`3|}tn9v@K?8|491x#EJgk?KwnM_mI zaz0}xMzfCnY1uZxid9a$X+3QULlC23g$x^KAU7;Fr znYW0pQpr=a(;BIwMF{mDn>q?t9XVQvJiJf36B|?B^NbOFXX3KV%}$SGm9|t+qqtzn zySYEv+%v*MhUj`a!L#GPZ^p7+>N#+8*u(66I0RpoRl6~6_arHtdPu}QLd5mwoVI1K z!|aGo{;lqVL*LI`THU>C3oMnUX#7(a%MsoOf=$EWFu@o$KVEL|R*<{#8e5Vw%eD7s z{jFLF*JINIJ7+VvxdlP;$;Qc9=doqJRhF%ZcPmyEn( ziNN|znp2t(&a<+-Q=`<6Ki~Q26IjKsxuk!TAR)=BQs7QCUgAqb<(m4LrO8G|A&Q-4 z(JNK2_js?S_uy!6?>NUnWA)dDVg5@;hdOW{|8CS}>Dz?IgKZc)4Hjkg@Z$UDYWOjP zqMqmtLVd%{`US^?rSHd5p}#&mezoFFNz!YpN6RJDVw6L0Hp>xd6Wtz_#RvWzis@OV z80Ix?@~&YC$^2k-VwV)L?fr2PBicLz>h>*3Zq`~_AcI;?kGy#wS}(O6#yqMW(UMuM z$Db+t$Cc9wY=gzBkjUqJ0+SRm`BZ@;<|?P~%+`EId3Kf95Y|Fk9X6?{yR^nKVDxaB zR^Hh~4jKdUObA5q7&8g3;` z0>kgHgr7sa7kDhGdfgu))w4*(X+C1^T07;He+ss7Xgq2zzX4k-g;mHmygN5YhEay* zwcC`aP?|%&4^nV6J9=w3QH(G0;7Cnu?S?7fpqh2F#Qs|XTrAA3bXHif?99h&aXAjU zHDv+nPLD9eaRMo1rxxqhk_Eu`g(3A3-(56qu%#WzaEgEh+g8smJP?atRZ!;bXL7W( zi>h7lvB)1clG5QRRcAAH{aO(Jb=p}_7bkocC}`qff1ojfkY9zOtYh{8ks8i56BgEt z*wQsf-{3+Yc$co5UCt1m`~S;jgdV5m&krcw=ffSY=K{her&s^>&MIQ-4ud`(;theg zz$YgE*q~T)CQr14iLAMgHU)KaKh3+jgSd@ z?q;Z|;|9sz^i>tP=kg1Wc~?pDh785FQ5L!9??|Fc+8GaUy?d7Q#X%KqaS9MQgFY~6 z$@6-_v+dIPdQMHzQIIc2(3aa?{ig(tM0+bib^0wS-0`P0kt1dM!*#IfzVbE+Ay0Vx z#m&G=l~saOvwKRm!0j<|Nnf|Yc`zn-+O-#^J+0{nOF=X-)as91cIw->VU7!okRNW_l&Fdd>aY$v~Va>wWd+hA0Uk(-a7EZx4CY*cBEe8 zd%7`bx3W5Q%Wy7@4=u+iM#COjwIZ9-C_eB#-7LV3gH6f;(LH6%MhQ=&^b3Hd?4|~J z9UM!2CwY$s+%Hy-@yfKINcF+&u*I=b^peS0w7}r9E4t`RghSUQiZ`Ko!gP{#C z6Zy{N(3$kx2Sq6|XH@!_11Y$kJh(53)RYHnHIRZJ@59riv7 zREcsLVjRfMH?`LelaG+qJl+*~`13k)%C@@8_#g{RCN)+1=YL!;@>}4!Pr2G{B4u^EnYGby592&9CfuPLt{_$l7q} zyR3Ap>X47F1){=%jFeWBh*sh0A{$5@ zTHG8fV9u=5G8!7F8Ua{eO_e-`b7S`zb|6-Ra4_Cif)9f3P4dhR&M<*y1e34$teGbp z637X)_OY=d4U!^H@b(6>q@fMkwbJV&<@glK1_NZo-k%QPChNmTPS)y`&G1f!&nBlV ziFE^KsCokO$To5&;gcH4Z%Q-*u{;E`Lq>96HoJ;z0{B9@i;dM;n=DsAU-vRwWyBLb zXJZRX5>Ngfj*JsQve}>iBG7Y2x^Ujh4sn3$8pBK8ovM5GH5NqAMp_bwEbR|6)G~?tbU;@-ddd6g#+BD&|XGa4_MM&uArf@_eYMHPQOlWMo z$24t>XhB_SvgwaUgj2%pJZIb7tLEhEvW;|=sVhsUkPu9u{ng#k-|)!J6(I3-{KHGt z(^AgX`Ix25+t-1s@_#G;mn2Cq_cVa)RdiM=`f9G+R0o@RtTE-NIQR9P$Z{zly&LiT zt)gW1I2JQ6st)W6QwMts{)#cMI`DbgNqdBg3bXKM+^ii+b8*twqY*YgZU%n#3CMgcjG-{;=8yinj2DAC$qnUu1;Aod(5 z7NiPldV)&$UTrh-DYG|QV6Sj$U4c9=Gtz} z)3Ej&XWvh)yj~BK?igvs^3lnr~T?YWymh9SE&NbKh);Y#iJ6{IWd|fX4dx3&c3E z(ZwJmTYezI3@^CH6kL!PVwPzwdtMnVg|g`63l2sZlCSt*?CPE5Te? zvci0YFfctOlXeHYZr}x^7hIh3&pevE>@F0Re0?~ZRlqvvGV*EYPi4BzIpg)&|4v>p z=LPSv-P#1A0-HB$mY#dJ6P}{NxJ)ZNMmu03hAG4u8}YFCCxi! zKs6ct0y}0_yM$WWVC_FuS!-t_TqA=#rr%1zJCKk)Zq|yrZk-FzI+LoSy^7=FF;NWk zLkO9^-ibjY{#igOKT?oKRX4rbFg*f)ufsLX6S1Hbb(=P1Q573>Gviqc(lZ!X8Nb_P zmV`_!$twygFejB+7T1w~=2w$DF1`~4mnwcQko}-CBeqi0A_1Kv#Z~SJ0O^H_l#s#s2ObSe+x51H{!LF zSbbJAW*lze&e@QLt5ht8@$ZDq;5tNE3O*w%^=Td_`xYq}u{sB*E0p|Y0}F}k1NMI8 zq`Haj37B>uv?||RU{aiCV+m^>#SRr?COHqHmv=f|*C+!H*ZQ^q9@$wRev7x1e|2O4 zA3641*A(iry~i{I(7_d0!{v#f{Si0ul7m2l!=XV~s=1Ex(KU{-CKt}O#e_oq4w$KV zS(arp<-4Rp{3qDxpF&FJMsiBOI_?YJ^hNe1ye0(cq~#UMCr+t0Q^+&UBe{)5zNs)? zRsE%N+tnw}6n9_%Ut9)~8-6=DxwyGpZw~Q9-v?(rl8*j;U7@wjE%@LXuMf8TARt|O zBMdnv?Qme|2ek;~jDo7#$EdJS3migGX!@)U$97UIDtH{Yifcx7dA4vI$l>dEIi2-; zzn_!pQ5}($V*nGy1;wLdPfXqq8{+lniF}tcQ8haHbLk=xDZA<+(&66-%%PI@>xxPm zRQS$X%E)DfT!jvRA1y9!3!I3N1QR2{jtF!!up z;?ah%Y2TumDWR(e7MkW(FFxL zxXjq1%&8wd{I*U|cSPqR0*5gJHFaQ-B==Fk29SWXNnG`WE3L zj#W-D`eX1d#Swcja4iTb;c&gO2>ao`SGy%V+K8@c?XE-p@fNtUH$kM(4{5_0aehp< z7&!Q^a0k@s)`IIYk-Wz^w`cK)vh(8PkBGW!G-MfIh$ zN^h=rKoe<){n-Mh?hW8(rNRH3{R5;g!RK+vg==QZxIj859aY`-^Filh!Ny%`63Wk1 z;NLnd#oL;`5q0A)8~4}H0gO)yNMg<0HZk&l#>N~xLTMc}CV!nlJJmYpE4TqNN-!r* z6MIBsOFpF+v~u6@X|oce`vlU&Dpb*3wY53-t@!Vg`D{R znbG)s7#>eb%WZMxjrp8QFeuuT_(Na~JS56jhD9UhKEk;T6*{5aUf(Ar?yw3ouNgGk z8BW2exs1-Kagu4Nz-s>?(rXDV2Ks_|rnqO0td%hYl# zto&qNgMPb&FylbJgFp~LT$R2Bjw&&YwK&XO!V+ah;tsuk;^SrIot%NUujFa|1SB(% zW}cb|#q)L-Bp}f{Nm*2b`s#+Y%Gq>n9>gvdR{P}=(+{%VuNv*$Eyik4F+#`czR3y^ zC{_@(3r-a5|24HRefS7P!>th|Co(=$JE|VtSz_9f$M(OeGn7}DfeS2m>1@5KO<$|h zhv(`_=QJnJCh*UeK#Y91DF^JD2jlmKFAiU;mgUS5HvHb4BE{=HHo22KvF;^xc5XKO ztxpwmulpnOnI7EznV%E0{dWz;FOAX#a(HfCjFb<0Hb%SkN|#ss468}j>u+k!HOO)| zR5CUi6SMGHpJ?w`!Fd+tu@u>L*Y7prA`zLTb<077@FPtfMri!lQOw7j$N>Z_?|WH~tRODw01OAS=p|`D!I1%P&;1CnN1Nzusfb9mjGx?Uw#d>gd!a3 z=y+qk_LMbiLR@hO_o)BZRP_~PuC!Whp{85C;I z@OoAu02=C8Dn1_sD_lxm)Jj*sX$l!PzH;j#NZL}RD5q?8k;BCsbndEc7IY^tOoV`# zF9C=hu%Ibr67}0ydI)P)D&URb27Gavp?uAzLPzX4t99{u-M0V)$S(Vb*#($r?B!i& z6J&}>k6!O#XuBCACqC)T4TT|LoxAXyQZ8#wMQs}Zc$K!XdCJrAwA z{GvQd^N$Ri;&szD3?FhS5!tGfw3l*xY~F>__XXni4A*hiI$P1^c{)QXWEFq#Zop=+ z;6AxbLdkztx_luEmu=!9R)_19;%TbG5U7Pa(vq8(L$Iw>)w7~Cf(8lv;P|k^%9_C$ zzep)Vk7F%S?|#7O^rd-7Kqyy_B^Ec>EwhWgwWzXbSGqB4iV0Z8a`rVWOkxREJ5{lh zM>qF=7vT1ZGZ^<`UA7WP6csqyVKnaiDRex#X)V$L4&l>Jt;k*)$`XjW3-UFDHsI1y zjW%2h!pT!zY?l9aiqA`m``%H=I37qd<3)6)9D13$@qzYmp=g_w zq}R?kFZtafMb#|;jykn|4yls7-j2B|qHMGSCKPH(>h~aBwt`5|Or&bCvvy)Q?c*O= z;%qd!6)Q+&oT;%H3x&K;nGDeQR6BUoX!!O@pUguU&9VGF&&w=(kGvRgkqDo2geMlWI=qxb7?89vN8-*znVTmfcDkQ?0y3IEfngV?xVYkZ~`E}BQoA{>$=e&b%i z;AKnEw}DZ)BKl;*+~LdvQjBg|G?3T2KMZCocy4%Zx@%G6LVfABYhhoSS9Rrbsn&ld zqgTSG*!ooklk6`PEhCXamBXFQAmaMBRyg*qRfYwhEo}!A%E+|ApOZ^QJ`b*`3${{7 z9&qA*>h5p9lB}ACKEDJ<8>xDg93Pt1+9cQLv;n@=Kf~H$)zNb1d}#z(@(peD9v}_& zIU^tForAh`1h;d^TwN?VrujCN<>LMJp<_l|1X#CVqWF6npSqRKw-_WTd2)`d_z*TZ z2+e~TAO8R7Iuiwcsa(bei4~5pP8Vw}iFr8Lha#=BjeWjx{59UMDh#hQZfB5BlEw4uw&F6VstcEIe+j=!6p%v z#yN*GZ~lj-G)3DZ<@eA4{lf2L-oYkQv5@Jb+QPhXd)d^QQ)k%JWJpXH64Nsh8Fr1r zUup5eTO?N%=`8$7d*Wt0~2gC9kC^~^gTYqfoF1k*K~x0@Em@}(am(G5@elT^w|Ab&DMBeGs_3o zf4h&IKN@g2dbXSmMX|b~Q0Q@^d(zx1Y^fl*ZC*6aIH5RlGIT9}vfeyiCwK8NA#*o! z7VJxtix!g(&~O&YEf&Uq?Mvu;8apj^ZEx7HH|GugTBaASt5d}-)nn%K6jOT(i+qeV zNAp~f<1D$Fv&HInNMp9OhQtZNn3*`+I$;=`?raLWc3-et<#VR9ucn=?q^Z)^J5A5I zc|u}2*SM=)egI<5bVwWlPiAvcienl569EK1^1H< zM1zCJcUKWiKV{;`cdk1Wi>!*_NO|%jhbuTKkpaV+I&!&yxlhcqi~R{@y&2_+&?T;) z@lHAlC+`({6rC3^aIS<0Ki}M{neRm6V3$ey{OD`Cx*tu_VH{@ZrorbxSl>5rK{co@ z$Z2IAsBdvf!98LW9EKqE=NbkO6adSqhWW4#_Ng z^wqW!TCh9-0M62euh!EG`BX}WKsB7)oPKEm^_|UdY>W=&t^&S#(cp|+v{3O&Y$LC> znW~W8wmH~GbaMdrYVVkLqct;{OjHcz*X(eJ*$EfGs`r}$7aQe>ocbD`$JY0A{Uw;G z5;3a$s~?nw3vreLj=xJ#1=FgYs%2Q}I9j}cHUYt}h(`JfHrHhLH%_EJ5sLRUTd#`S zfqjn*K6nzm=ZE-$Jpy_DJq!z5_PQdvk1JoaXcyel=ci~WmZNI zGeA?_MTpqZ&*v8Ru}iOk?enG|6cW`LZd*8P%&~bk{YX+lg)iF=5vUjL>;1c?OGy|A zK);N|6=BF|osHYH-RMW?OZoy(Ke(vKVJIcZlMp{W9H?!h?Tpmb4m2Q(D7Y@vYTlT| zY#&Z~kQ#vq&&0LGOW-~PC^{qVvnfws$`15Y;l222E&XOU7<|=zRJYo@$})xwBr4*N z1X?V6mjzV&+jJqwFK+kkIj6a=mT|wkQm_O)o_YUsiA>wu4-KlKZkih+xd_op`~2&} zobfkSkFqUM@s<*WhXvTqgRlKwSS@O2D)X&gF$WpMoy{$ctUKWwwd?#c2yqGNnP{#l zd_7PRa94~aCaz@0{E_`A79T(NBz5^7)K7{f7AUh7B&GJ#096qz zzb<`&+(cF-KcC}zPtKT#S2WLY&{Ndt2+yv-m1P~FQ1!+JeGjKX4}nfpyv)}Clk1n@ zQ`suab^byry3c8nwu}aPS8r-Iq%9yfNjTP*x!6p%OxJu6Wea-k8;6@dCMrmzl+17) zfm{8YhoQ}mX0{9ZVoF{Pm)D-B4Yl2=I!sjWzcN|y&EhJ_L3lIGSfj>0Sw?_ad?DPOXqSbyll=DdG(B1sZ zxZg=5&ukoZ<($GbPkhKI5%MG#jZ9vOhK;f0A|TTx9F4u1Z6Xnk7X>{s>r3`jt8mYa0Z2&UtP+G%7!E) zXqtf!Oj_#qyM~{@Ds1W3#7!W)nPL;aP_~!}qVP=Z72W2*f2ZOe>^VJh{+SCf^5IU0T;IfF*G0d{p5J;6d)I9u1;WFS@v{ZVD2(3qk*tL_*MA zRKvVIlv{98_>Qs)DUz$E&I{fyy3PBq{;s!7|JBI)8qfRW+R_&oe`U8b?(Ss=7l9Eh zl(8LbvrP?Kvpvyt*4U$)<`+5tDRg{nIiq)5mBgBndB~c;)MZn%y^jU{{7lSiStkM%;#8lUVP%`nO%g>V2Qo8Ul`8P}c9zI`9 z>^+t|^{;On=*N+PoIwg7=p;xA$ubVRgPLM9HTRhUQ1@(c&Dd+;y4ckAxs1NmR_V;f z#ULI@dFW@yV{UjmMMZ^Q`n<{JOrywhUFgh-;sln_9Ju?B@v=yA*-roC;z*)N#Q*rL z9m{*@7X*ZBY3M~JTXvSs{i{R1@h4;^9gOUuk$wNgJZW@+$wzLUAv<2`WLz>a*-J(2 z)~evi_gJQVwKm|HLEwCi+MkbWJ$Y1HmKP(=lg}aqYE^jRd(?^-gymaa#%V!9w&sGI%Az}$f|YKGa4LPYUdpg#v z*u3xt@-y=Q1xH>${Kl!ot9{J(IAgTDgzsZ;JJ$nJq$g3v9Y+JQIir6{cW~Gzx_x;R z46eQ&OEIVHpQhC&EwwbEx0SeZp1NgO-SO6U@Ab~4GW8B9Bt;MkYXeA`f0tlbLlU`n z1}c$*fzE9L^wl|&GRQ!_h4gO|aL7v~E4xdy3ZmgB)eoB{IpU&G{01Yo|eKBmmP8sl>(2 zUv6D$DmNHzSIGIVLD5!WG213IXh5@RBQ^W01{CENDFk&}p6QcNb~&ik5yD5`AW}}S zJ2V_pKlJk1pu5>j*?mW|^rrI+9D@g{@tB{}0boIB;b;Ja5(1s; z@9X>5Ah#%6?K9CE_iS;*CB2WOd2>KKS?Kx)uiGEvF;7=UjtVOf0T+iO6=@q2Pc_J# zK)>#Z`SE$F!JRolti44`W2q#UYMP)s{+*3uk9eS4Nu5A1IUO4GYyDqPZ`zm+H5}C8(4;fyL)`P|@6Lj?hRAE7dS!ia{5z6);@|^4^W;4qCdPAZh zE@RTeo%R>a8t`mY-xo7sjldtzv-Zuwkt#6$A>-I z`-t|~3eyh?9P{tyN6QtKIh@##9ig9`Dqr<0T0zO<8#aII^ew~~?4Y6T4aCl7qy^+< zIOmq`Mus6~#Vh=y-p_~PjlQ`A)pcOGiEG`ZV}di`Eb2w_Db20`zoX)>|2}G(0zn;= zB^Vj0t~W78Xxn~q;@1yn1{%qvpmNX^F^6Kw%ZDIEJ6B)k4J6r*)YEEKnI`&RLHoLX zW2H0R)DAV-ZGG|f09i=>W2v2rC(*XSK!BVa6kded);k7)nq5f@4!0;1bVce2on#+f z5{a$%;O2UDeZU|I&x{6XuVc=pYUUl1^-YK3v{mkIw-@WdnN&`x{>xIXaa+NiCepwu zH#$?WjXpDkwKbGNyS)qEkqGM%fw)IEf~tFMT4QIQ?o%!dmz!sXqNRdB?}EWQ*9A&C z|CxvJg(^PXhfMM)F_tQ?l>XT}`&#^&ee^)zrjp_tgQKuxopYy)9{n z$G7n$E3*g271=f~Jnz7gZ~qo^ps3`@Uy+FIptCU1Ur{)B_m&46cK_}BZV!7eA_WAz znnttI`zR$#5Pucx;|awh8veUNE}?c3RdRQ6RP-mSTld6|lrFye#3;Ko5xw)w(P3lA zPjk&WL`qgFo@^0w`mCHF=a|e7f%4XOx8iaO&A{0F`$)i?&FzrloI7 zrIKQ}2Pbe=;P1^$(Q@V)=Ptq`0@~K@$IrTq*e2^;UoAhar3*{bK&yG#q}rh{PxRXh z%6cJDrKzSFnCN~dpQQYJYzzWPBJ7JfSUPFhoU$H{0NWhA(|k@?9K{9Bw`F(l&XhlP zxDD>Bt$%+(4)r7f(9QM@om6Qu{-|(i4qi%N1n!lXjS-w4ujO)A0sJlwshHk4G=>-I zHA{KtiAyn$@x|DcRmKvmQ@UC0yJgpM=7JcH#7}UDKgYq{`>N~6+ez8yaI`m?VL{1V zHwn()=V<8A$%M;a@Fup`&-jcHa_9|5yx&$wwSsZbGy41-8YX%lh0*N-Ua9WZ8skIR z={z2Xg1}qA2H#R=Bl7xDpsAP=P<#{EwU-|R3Tu&Pjb-ijy93{p&mgov1|1`OajczG zMc-Ux1?BiO*KIG=SqXEEK_Aia@9~Vt*&DiYi70Od37Op1#i88|eI1~eu6Ni-CDDE6 zNYHe?{+5fHVg5K5_pQC6tURfVc+?gec$JWla8l;~oVz9^#N?KJrQ7>X+C`2tPFZ>S zct!t+Ah<-d)qEMG5EVxjOg;i8iy9*Ry0TZ4ba_ZAjr{1r(3Vn}IL#$cxf$w38-hFo z1UHQCY_kf~Re z^UCHmMHg}n90j5j#hG-;TD(@7<_~?oUjfP(r{-xeI!0>0Dld0dqbkO!Zt(0%VE9QA z1HV8?Qc;8<<10e6HSAne;Xu-rwr_z-^@||v#B!zk?yWw zl$9l#bhV7G7%GoWinLOLPns7Ok66&~YzVDU@Q*K+74d;cn1Rt}AK|r@nq8~}$*GWe zOd5=XP#DGwHNKG}CSL8;oPMnC_b9|88WC! zl!X>!0_ls2|FY3Za3DR(fW?vDOp3ps_B!*LuUgx`@{Z3>PfrE^lAGc{&O!4*hK4@O zt^7oNcS}i~OhF-G77YlaWa$3zQEj|DEC+VW1264fJ_|&&XxPMxrcwAp3jd}{8s}I_ z8hBR3?FxT{E?_S(5Tl3=O{??(+Jbu|zQpN2T-q-3;M+m>qD0 zq-|nD18p%Jjd2ARYo6~Xv@$*{#1!H~eVp;*7wP}N%3i?*t|)=IC+x^t#g09TXR5F240&Iuz17qKtT7quDc?2S8Yl#8N8Psc#i;3H*j$>&!0wI zB&g3qH2O_SI^M`SoBMZA#p>gZZX69yR6sbW>s8O1uwx)?rlgq(a5Iy*2YS3~LryZQy;t*{b18#pEc3w~LEqST_{kU?G|oG28Ku8g?hq~#l-=8a zXY~mDJiz@5(BPKXuiHm;iC~!qui1N1&-`L;=w5wHqF($&+RyJ$lyzYPUz@B_J%l>D zXZezM=2m~U;6vVZTzohSOqo+vmSes&ZLQ4?-tkz%{4yg;eS2B1pQNOC64{%uOAk$c zFZMa}W@hz{-=8=L;}lSLTJ0xNvJw(#I_B-x!S`EHc_|qjRg2w8#lS}tB!bu9vvykJ zMsHyEcYD07+Fv8hv@+6Z#-X`s)|HzN>PrVp=ka?K^>&%p+S@9# zABaGVlHPqW#s`-MvI^5a<>hb(0CN%o6Kuu8x!$wPDyNB{o7VzE=p%9{HNCh63K2!; zAjb@EzVaX90t20L>-YpFT0u93=|8qf;k+cO2j7%}H@W1UX5J%>!B@!V^x-+`8WLxr z!|g1YDxZ8~o;ztlo+?^o$YeXqccPR^`@G9V}5AEYI9g7@^p_jb=eW+XU9UoVA^mZL*yo zig~MZgcvOGA@ffw%hhQO=m=&(zST=;+L$ta`dIq4-P@P`1oZ11bn?4iIAI1UIsRKu z;FKjkF0ln*y$6Xbsu^7^wl%N`ytQN{EOX)sgQEC4Ypan6gHB)_{)}OUL}m;kJ#OZg zyZR8v++5T0tmQNlykZ9i4MRWE8YF(!OW}QV?Zxu1Br}|6QL=gr5}C0|!6>1;ta3j2 zc^ZC-D6fJ=Nt&F>AB$+yc&UYzAV0RGZGCkpI4HzXhf#8|h0K&3U@>o6SLnFNlK!_sZP}a=MjoB*>w*#BoZ;S=);rdPzMp z>?Wv{e$kSwm{hkanf!Z~C@S5lh`a3s$o#t5uY6(p_3^IG`q}r0_o&B)M1Fobo;q0yo~Hv3x!dISG;aI%M66 z(8L2e7r}((u@DL@=>AoX87bGfCBI-;tehMnkBbvb1&Y2-@%e6^69Sh57&QvM3Y^24 zW2Bb&Sh-luS39dp+AEE+_Xr@@XPheLL}o0v{AePrX&Ds!tWVw$#K_H(>G#I5x8GIk zCA~y^2^dM{_99t#b8PN?GLI~3c(1(s(J(XKrAheWRpTye4Ya$Lt9K;vkkbD-^)=!$ z%q=5cXr|s~-ovo(+`Y*P`A(+=*+pDBPiI*9GQd#-Yus!#Ju^Z|)38Ejj89lAWaDJ; zxClm}2W9y)n|_bUuu-ci#71mj|69wBJN%VBQEUgjV{$qx z`2|9C8d5kZ6eMf)WD<-Yk8~S-#OFB$a8(1U`*@A@Ayj^*QXZOK5@=csK4+4xU>ybY zrN>_59OD6xK`AED7E>=Lr4A+6 zz#GzVHJbj&uk&k;&Ep4b{po|DmYsy&3jM%cHz#q}``qb0r!13bPO{o2s^q;};2Kro z|HU4~?U+TcG9}8Eq$q{Jor&8W`y*Kk=00nkBIl!sMLWd@3CbS{ArK#PGIb% zHt)ZiCq+#@V>PQPjQ2Zvt4>G1^kY*9dEK9Hbcg)k0Y%5msCWz{X^zWzHPP+wM&1OJ z1DH`CWaGQeiFjJ;v`RSKM?X07`JjbWBXqnbEqd&!%la89^{$Ukp>WJ?VY9w+O_P2i zgC%1U=dI(+sI63i!1Z*CWZb^FONd~bC(V0e2>)c_V7HeK7jWF{Bn3ZRDHG28{D35@ zMqD=)w@=2G(V{`G-h-;F$G0WYOIJ!%SJ}?QkU|5!rQ+5e;u}8~BOCSmT_k5gYQ0Ti z`Nx<@M-U~nMEtGPdK;ez9jkYmfN=WnTyH%rhHB4FOl>=GY z8$buizyVlrtLRj*59UqOgm-560ii4&t3RLSPY$(h0s32pevS_#bs|iw`3G%&w&P_QkQvkpt&UbJ0Pt5tI^&PzXs0z$ z;u6MJCNcsluUYHf|Ct@eQ!pUlT5$P0MH%|sll_S-8JeC@bVJhd@TtrO&&H!l9Y3t0 z>!?Ls=#BBPn<3cDW<}o1huU?3xD-JJ=89NQu*b7QDj2)*^6xU?-*4wtw?VPHqV!(` zU2O*0vy*;r!ClgFE#4NYObd2}aL*}B!^lvWzBEZSc|Of%$%bHGoxxB+Pc>*;Ha0e0 zcURr3ji(Sv3I*Cb;kmZJM`Z-H~l}2Lo+misR@3cNj=kc3-VbuOlcgb&S?ZJ6cg4Li0ioV=y-hS*AO#3bgv+ z|4}`@w9S`O<m8vntoF7r!+KzA4s3n{#||}5GXY6CkcjayQ;|MY4RrFS z#G35uQY%J(^qql?R9zwTqkH{9dcB8ah>w;TPG-Fl3Fvf@(!?gO$^HG%P0?;F4c=mY zpRg1=c8IMaF+v!eM&(1KeNR863v`Irw|cO4<#M`@DjzJI{E}!jcApGc5sQ+YUFo%E zy^aBVJ{8%tr~lK4mHplyEql*_WGhz2Mh)OF|J%@?7I&-b-Bc)Ve4cm(G>p-}CI8lz z!`w=9LPU^wcE1#?fWg+x_v-VL|4+I<;ueIf(Wo@){c??|mElVt((=9!4Qx<33p(qn zK?t#Xh!W2yqPSt*#xoVWCh90hVe)gZL`b<-_#$4T4K-(gDvzky=KYd918vq+-(VOk zLs>>7w!`_Nc8d1v31)X^F|COWvgz{bxLewqLWl~CdC`8Zy1c&TXZ|Fzic$lc#NsI1 zimSDE{~nl_FelN8gx&@(nyDQRO{zyb978oY(IeMD zPc(Hdj$753v?amFdC8&yv_h`~VqX@xSNIMRH|>rOg97(LDL~5Y3gr>ndvcQnO274o zG|Y1C`>kxyI3n}h80qn23|&Lx%aLsOgi&z^s>);-1Oybr9%BB!M6^R^Ak)%$vf_=A8jKsfe7gSk8>=x8hD zZ&Hq52_+jvWgzws6;|fMD#4od$hg@p@3?5UGRblgbQ+vi{dv}~QPEf-V`dDeFPR^5 zGv|>meh7%SHBJY4|M=LWkpVAl+Uv#eXVs8!BGko{V;Z6T!nt8{FO?`-fU3@j>Xy~B zTZ!zry8b}hvs4<1$=e#2@|IbncSbF^LCd*%j_ymXa(m`?GqiuVlK@N{A@x08)pNN7 z;%WPfYN?cL;-s5>v4fz9Xe{RBfca~iJ$M?jLzi-4M$7%4GD(k}ljBA;7&)M**Ph2n z!459!nX;8r@lQLVo&_~v$SIyMzPN@%SSFhBN1h262p29H zq_*+C%spbb%$+22V-rsa+^5VL^KKcHpF7y2Pi$F z-+Ibqi(bMercXX6`j<^SyUki>5BDGi7TZJK2ni?S7FQ z>l4Rzlvz(=Ys!;n9ES4BKk!FIfyReCzP&HAwtqA}h$wl7aBxo?fO zhkRg`%=za3x|`k@Mv3z4e`HT};rNc;0FZtgxxIE=95ZS-(a! z&e%JUa1ZD`0VhgkY{?_ZIBK6B6hlN8yYht=UpFzBkE3$5IuAWCK3Zs-iO1>FmNmwg z|CRb_e<3;O-qD*k>xR@=>n3Mhage?X^)8-D%eiW}@O#=+rv5a{}gf>1+_aqWw0q30y0 zGW^EohzZ>|V|@zHVyo*VUh2jjo>LLIXjPjxoDg>nUKEDvNY-X_R1;-BCu8^-8b$MQ zy=%zs;jewZfecvs?8vgMYNR=zM+U6JgB&U|cj%2VMY6R?SBOd&3=N#2optR-Gb++1hZW8ERRg`(Cef2`cqtwEF14(#1AIf6SZZi(eMDs4lnF}BoE@UC zug~@5a;2N9sI9_BCcfu-mry!8Mal47nn=<<+xM2Qa zmagOz>15Swm)JDEW%}-6zI_z2dg+dhy1Nx4cG=-Y%D494rfYt1sd|SNLq<@VjHehF z9raxc&bzBnkE2>KaE;T%DdTe9O?(g}2^EC@=t!U*^yQAA3ReH`8N^{x(eGX6;@tL) ze_{5#-d)7vDH7+Wm-m$9eh`I36uDUJPsX{E67ieDd1~G?{~xxlGN`U#Nkh;;u;A|Q zZWnh55F9RU!QI{6CFsT7-QC^Y-Q68FZ@2c}n;%nCeOkUVHC=VOXQt0$2`O`Uf!jp6 zAWe_9BLbEPW||>a>cXx?IR>6KHw+kzIxp^tTKp{BQO)cx2&9uZ;(487L#qM#VX%^? zpitL_)>ZHUjrv@Rz2A+!~xdp~b3`4Mel)3?j5cFp+2r=DJfqD zx*=)DXCieTVmQ=ayYbo5*S~9B@q1B-W?rhAanJ>ed&=!ePcxztOQG+F5BFMgBbGCN z+a!m}NA2G{_icBd2Cs0L^YVs2cp5ZsK{L+bLHkezYgP7%^SyNO?LB5^N8H}*zGjE( z--4!IdjJv*GnJnPU;P;-$Lr}PUaD)2-|GU?Nn;W%;@ZhhZqeoJYs(gINk4E*1O=vM z5=Xso@aBP#ReE7QR^xYXtvB(leW4Emvl6!oVyAn{R6bIKyIc%z3WEp6a>aaAeHpJj zCh7v?Gcnbyky?`p(psFeeytwvq`8#$w^E=ZH27x5n zOtHtEG7$3z)lijz>ce&bzzkaF0s-e8K?7FC8Z4V#B8QBIhx6%3heoFr!L~D7-PJE) zcmQ-xu)se*(+0f7G0_qjT3PhB|Ngcpr_|vW+)@KNdUB#NScLFJD51RrTOJh)umO|X zaZY}){gW>*oz&12h>La5jOl3jOVSkX@akeW`Uz>sql zqS=b3e%=}56p)!5!`j>+_v&&!Y@Lh~Hv)KK}xM-@p zrRp>YjHoK0CzE_pkEq|8)sICzyfa6^cP8^ECvJ^JhD$8R4;|_4Cu8Y9$uz{NVrUUj zv4d(+RfzXUHM3(pBH!4FxrBHOd`La%nFM=x*YR`dFKg*%f~6^OAM&<@VxnxR=YV0A zQaYX~JGZ$Y0RR<2-iS$#F!d8jQeEnp0XyS@~I2?k#jX2C3RIlQc4a|*- zzrAu*4GR*mx?gZ7q&50}*c|~SAd?ZUsHnUeEL@$TWOtHeZd_lZHB;o2aKk*LR#)#G z;^DhlTp%>}`Ew!355GG>I1tR=GKKj60_Oe>Hw#G%F=I5*!V1y6(4YRpWh!tsM-0^_ zSSqXji-vytZ5N%$_YY&G>Bf;t@Ca%clDxrpGpSl|m5B^T^TF=42mAeYpPcL&)`a0o zl)IatByAm@;T*v?tuZ#5(t)@iE{qpPkz-K4vU1KI=PL=6F>V7Id-l5TcP!m(M-!lI zY`iTD`D&l%h}TE~Py4wm!uQ)PDLZaBMYV)?Jc2<&kc9!J!4yBD8u->8x>ariktkWQ zF(D!B~m^P}kpZ5F!^YgKP-Ss`fD3sR}C?0kVOce7IBJ9Mje=EaQh} zAVw8np(Lm&`GN_e5wcPJ725tvCO+{|S}zu~BVpcr@PUYz_`583<{#|`(M3*xp=}q; zK*T%c$ZSPS?OrQhbX?+ZTS=;q>jnr-jNdqv`?!+&zZlBOz{!=)M~=AnLP?k4V}%Um9sf;~aoFEtoCfCsXl9JXHqNBkh5vLPNNUE$W~ zC3>O}Evzc5BUsJeyH(t>tC?KqEh4Xms?`(InJuY0Y3YDPui$$oJN|p0EXjuinTyuj z*#z)i`y5l#DW6KJkhzE#1+5RoS9q74*AerEPWC^+Vpl8b>CaXzoys?lZ){dU$=d0> zvJ~qLUXRljyYAEU(uHpZra0a!^1NIPtW|Rm^@_CVr*F)KE5lwE7GubrrGL?yu6Nia zNwu3j`$vk(OFY`Ng1&2XV|X0Q0?j{MoO~Hfmw!O+!Zji+=x>iL2fsN z??{vE+fs^d93=VJ#~7a2IJ|1}+O(=R2xT2+yAi?&X)5sDLs<-%rHn0sd$Jnz%Lruuej7MBE zCxMzSmbBVUeW8V}!2g|d^9OUty72iSt_UoQIn3mU^(qhlM?6N+R)fY|1CLJbCU`AB zqQ79aXuDGqTaf%faMf4E>@FT*+@7Ge|G7Os1A;|H8|jAI?-kd;E2$&&F*)uh zFgPjWyUL8P4CBP*0*f#tyEDPjt8ouC3&mDdB%w(YB26x_oJ5(u55(wR8%+8%7e$ij zb+rh-!G`j7cswqKL=Kbg2K~MU7%p1Z3}}7E5cv;wg(Phk7~>aio9380jG;q3v$b#M zlq9!mCv((jURQ$VgL5r%zu{F?{UqxzKcjF&`O75CI@RHgg(+xZfnNTbC#w~b)GqW3 zfV4g*G472N@7OV*%srx9co_y?fX}&`nx0>w-$2AU9Ihmtq1B|X#lS1d-1l~NT^a+z zqEl4STGz*kLc=R5O}rPoujt!k!rQ(FVB~vi0UGb)Q)Xkzwe0Z^YK*d@+%q$2WsOiI z7$-&zm2bKjE^2i>q>k;{dX-d)KLivab4fC|L&%l!?U9CdJ-!2*O(uM9UsJkVwJ@O) zO2pD*9~`JGC1t{Yi_Hi(lLPt#y*-*On5nC98TvXt-6hiP-?$t=%WcY{*Z4(m{V(;G z8l$>`lTU%9S!xUnPTG=6!t>{c#lw<~niN;=p7Ub@h$=0F>54ey zXB~xrr+Z{Sy4TCgCWc$IjPBAbUQqDHM>N~Aq*|VO82?skP@xRKtv|ObWBObCmB28) zJ8?5ygNu%3e{6{2_!RY{iH?zJ3t=6)he1}U%s@+>|DsYf=~udk>2A*w$q~8#ZEYS| zvB#e@tKUt4xGS~NoV2Cc|1j28VE+Bd)>geN-}4){&zIwfjEHJWBb`XB-6U@VM|YJ_ z-uW4)tt#runx?4Zw*y5A!pMwr6O~5JMx6%HrDO>bjPE@X6d`%e4p0*AWJYaN%BbNL z@Qp3vC=D6{68ZQ)wRJ?%W5V`tO#OHX8mM}-iz&5Q#+;OWl0u`!D`4EY&+%QFEdQd1 zE&?J1nCQ5-62`BH?~Cj^Hps)VK+e<}O3u=r-h945Aud&mGWapgmZSnN{u~_#^n1H+ zpi(3F%v;mE_;MbM;m}DJJ{;eL5o}~t)qr9(43#zFuC>fZF+JB1FS3>Guo3i2VvCl> zWW#GKg^n&}Sc=B_B-2sNiu(>=+0B|r+kz1*U;ONbZ5523dIe;W418 zDBcub{nP49wJHP^Q;8fdTYy6VwF$!&nzm5fm<#ITkpn3a*A!$dw*4j|mwz5F@LinsxyNy9^ZBgC~E|bau=*ldDz6Iy!yAucml;w^h4y}@*stbOrVxzMB0{%&Yp*4VMA|b7zdv`VMBmWz5^bc(~ zF-Pf-TV=e)kTzAhbBuAh{eRmbT=T?#|5dfxaT^jLRlL;j{zxy`OmyfhN6C354Fvy2@Y?1Q0ZT!!o$X{{D>+BO zwsC;wT5p)Y&ZeK*{^H@N%vfrld7N?LJbyqBo=Th^5?~<*3v$?8UTy{RD7!w?M_Hbp zwUm}FS<7vPx}Yp?CXx2qgqIn}F(#7AK-zh7P{gx&Q=HP3V}sU0ySp*)H56%@Em7qm zb-tE5NAaNI_&r;Z;G7^FTpwp=oLn^5DrJ^ebQrP1fD-)uT1Zhc_D*}nn7`@9CQEc8 z7lLh`jR(?XHSTo(kiFeI9>9h6nSBuPi$oT|mVryBW}P{lB&>0|F~UFl-hu8ouBg(D zpa-J)&V8H!&em?u5a}|d6_bCGSZ=&fzOzIA<#wz(d9K;S#&v+m&mVLpE%_YQLak>T z>{Gqd@{;7Moc1b)q8uZir*xJoIn+@ie$um3gX8GwsTW$;cXMbm1-t~7hAlv_b>ELR zISWX12xcX{_jJ-;kq(~c=uz7FEU@nFqu4_{GTpo+Zpe>BU3nP#33$bxg9oO>noe(NxOBv3iEe!FNb*oW8dZqbb4(oBtx`4Z;cFB1Cb zAbxQA4Yu_yobRXgJ~Ww;D9!<7^zHr{HcFYt9X7_!uOPmXbC%VlUF@0A@I5412xXZG|=8bz#+J9fnLkpTzdWief zStN~RxSS*MTAl0)8Oe)5>7P#8FQy||ZL~}klZmMxY&JC}UTG%K>thj?(!O6C|i%Kdio zIHJ>7OfBBjEt`xkH$NM2uLiBe0DT#BnD)d-DFX;RPvH!VN|lbikdQ3$xowUC0}k!A z_m2(`<0%Z+tNH4M2GfQ(K^z0mQ9G#(P>>w#(Tx2xV3lndTxoZtRs?8;fc&$Ig|tj) zQW(rv6NTNp8Q!*}pKbJuCg7@+mfzUxe-(vqq$t7tZG6bRvbKWawlP=R%sgO+Ft?$gbBmaPvSa@RI0TO~8z&{6hm5=>-2pFNU z-$ZvHT%u3Axvp>^LC`2)r0flOQ1{aV^#W%1`pdPhXq$>u}L)Z%cEVs_&s7tHK-6ZTnm$`9QY7_3v zF5#P0*zfJ0JL-!KiX?rETH@M!HIpN$8=QDfj2);zF|W(tZ?7r?=4&y2eJ0c!Uw}87 z>AwhqcT?=Bj4;~G(q@CoJeS8+P3lr&6JAOF1;tYuCTSxu#y58Tw*tmJr%BdZZlZ5-C% zu0raP4~EJ1pCGYMHMhXLPCf{$$<_F>+C87pIYv9^`>g{{F|{C81V?hM$}s@=YYO+I z>Vw$}irJ{lgXAZP360o_8G-2KE1z7!7uON(Z7EK=_wzOK+~MpVq4gffOIqA`xeJ6c zsf#{#8kY4{dKRSI7L-+&%yn0jkIM6(CtFDu@!(=_YTR$8p`;bw+uQ$GOO|^An{5;uik-)#=TsgQ!}xl;jn%? z(0?7{{rw@Gk@r*aA%&4Mh6o-}a$}}p)E~<_ZCvUs>OND=mLCu{D+7!Py&hNH-uYOY zR*&0VZ*~VFFd23JGZ2Fbwb4YXY^u=B#0l2TEV)4=ctJ|1Q{06<{5)vc1NB>%+`NmJ zJ02^TtlgvBj0OBiXt&Op!gkzKIO=dS2wCxP(-W?Mp7MmocTMCT%!k@|>GE(7XcKH7 z5ZVLeHH5>&-50Y~OY!zx`&_s^NsSzp*ES!`Lb@TvL`q~l_`}W=ed!{d0~F&oT2&`K zzKLx1kv5fUA9^_r-haqHt5^lL0c~AuCGtCdDYxVonD% zq5|Q32Ge&kTpV!&=c9d_Gj>`4ArA`vof}Xv`tOarWm0IquHJEy*=0G2Ol0fnuTDPk zhALyk=phyU5Q7-3&Adq-QY5{MwwvGj^`{patx4q}gf1-+S?!A*$5QTqCEfmX5tP|# zF36kSDM$h+jD2GJJct-7;KSoFp&`T)GYyN>)S7&d>TmJl2sNoH_jAt#t|N2DL5__9 z>w&yUUx4It*bx|KudbE+pH2Lc4D!9y)%ISVjUt7KMcgL$+5kgA+#wmA8>%XdFQUgr z_?R^avge7%XOCu+vv5AXF7JZ$!!Nhine&@D`v^ONr-ZS~0Ppk7aYyH+db55v<*<>y zao(GJ-{Vt)8`_LXjH5W5Xlf$*2ZN>ko1e|h+z8^W60UR?vE%BX5^Z;7H%hoj-s@_J zi}ybsa@Pr>`>AvmxlVY3ctspQi`ngytyiO*1aZrY+CfXc`**7%ZDo1vTsZ(mnXz#H zMa^z?s3m@>(YGm>lCUI2L0hRI9My+RZV!OAZ_$HYj`@9Y9XW}=(*$*2J$#HaT16fC zTBhDq(qpN;=@V9}biGX8BI+&^u^R-r5rMHViSOd)K{dqGu47aHTx-R!65mZ~r)+k= z{#D9^jkrp)o3*OhElRG=`DA{glc zOV%-UKF`gA8&G`hSi{47#{I0c2(RVwLnxNf!dp6va1$?}B~{`tIH!(v@}*xmmtF|g zd&!W4U@(FZ4qqfZlPMeaR_Tc&Ak5S)eEnD|6jwHVI(mO=jww>tsD5C0V39lED-wrJy>=&?gahp9`Q!VbR`< zS24<2`6y=@yCJ`WHq(Xs6Y)@CV3%YB|6~C!$>;RD80RsH^!L0PKI|tP3hB8QdP$#% z8zS+4xEM-)j*6bC^3eg;aS`N}CEOnCyld2JyQESj;`m&?@z(Ee&WE^MKl+@UG*x_H zMAb^yBV>9`X?A+|axkwl-cn4(&g)qT>*guVffOf-_)AQNJ)TWdj~xhN{6$bO()G~H zDkoxo6i5UyV@j2dRGIu5oXxBc%_X_u+f8j0eKQketZ6YV%Y1zcFJo$PnwSd}Zr;@~ z);vpP_l`e`;j=k+&A&t`I%f$J{Bgy5J~9VROf1e788#H;FE1k66;6XF&($|e)ly0X+w=p|27;t>Sw z&`*^OAA(_I5IG?eST#kuMKo!|Ct;eo2-n`{#(iR%H}e*Yi_^rUo@GzY>2^K1?sY{x zOHmJMc=2Nuc)XK&SoH4m>KkppRum)3jR2&8?z5ON0{eH>$-IXtTX{xpvq%k#{%tvPo4{=Ijf1sv7<oAI- zybv&SP{`@QI$5c)q9R#OiHlw{5xi$FIao2}91Li4=#WYV8c`fDf4h{z_>XK<;d*O{ zaXo!zzI8*XC!CqHADmw?pEKSpEd{2l`7Ex!rNEri#lJm7nSXLr*RYiqVwvXtuiSnj z6VVv*9OardebMhO#k+8;hVp0pNy}`qUi*CE|5gD?lOsJLO+)K)-&U0Suu}Rq8^H@Z z?<&9vz8yC?0$jy3;>hIS((C6SCFkLg|09)XSpZE>lf_{2s`sjnd4Rxey=a^I;-%@s zKI@4Sf#}8e9I|~5`*d7@^gre3cWdm^&m{mij}rE;MJ3s4vykCE7~%uF?i}(R;!t*( z;~f()g`WO}QVD9{eQ|A5mzKjQ`vAFx?YIzJbb_}fZAH^ld}e{a1ToMrBtTe<>hYSI zCvhhcRm}tJKVTvV#7GWlo+%e@Q*FLIz)F?K4BOwNPuP)!9663_=<%wj&PhJq$woO-6o|B1oz zEfy}T2i5>K@O1?G@#zVAe6_?qWHq+G7i2}^fCY}{{gS5)o%lPf0M1$=0S^}N6YhRb zB5dAcHglm?f|N>??OSL805H~TheI)Gh8BS0ejU9R#v-?TGAe)uiQ?KnL($wa5m4t4 z&46;(0-eGd!}CXWEQTN`jJ|9A|T%Jn0xyH zVS5QeKX7XH1}LVdyeG|7wVU*02rqRLnYGlP~4tcqPYkEjgPr z1oiJ~x8)Dpt6*ETz6$sa->7a<&z+un&mHh1g+JyyR@ThWixGA(1RAaP{jX}7%=)%l zXF=q*%DPHFEh`gLkkUsjq`6{vN+il-;aXID>QH0wzLcg&Q$*8x#_qN}2zu&`efGxg zeq?U>NadMy0;YD{0o-r^hDr1V`H>d8g0k~A0ezbln4tWWj74!JMq3ytcep5q>v*4zVr7Pa!2r)ipvW{ zrF6$x`nQPB^Ntlho2#qT)PppQyPfjZd}@KouJ}2gg&8=wFr}C0z4r+2jGu}4@sP#> zlRmz8bMgWo_y4`)GmRWu?2EgU_KDg%@vo%=3y>RgOTy*)mn9G>!vMlX3fzm1Sw&^$x+IwNg3RsRn%KeTYcdo#~M1pQU%JCQI1?~Hfd`C%bn zOjBDUtRNFj+u1oH-WUJ=O5fW&M$1wDtEKAEY@((z(4Kq4nD@FMQYOzhDvh_X+!^#i z^R+50?Nj~lvLNE{gvW+>@@Ne%eOYf){F^x;f5-%~G&krn9`YGD1ud{r3qBv6?Oeg- zJjhJ=(;LsqK=?8-SaXEgnUn5T8(f)c!2tl(nN<3)z+b_Ym`xQjr=hCt6cvS9@>_+g znEoYL?D>4+-BV6oF688u<{5$nq5%1V5B1lUhy;dTf|E6_5Ii-f_1ksOgLzL58R~&8 zk2xfv5wr`Z{EIo;pRqqSrF;{*QKdT7d8#rm73B*qAlr1;^ASkoAtN)2!XQ(5)L}Ew zyFzzMhCra|swC)fCtRs&Mq+I9noyVJyV;FLKvz4^9QqUVo^D;O*iUUvF%KGYKX znJJrL3B)ZDM7bng?a0=nMkHPJsy~Q@HBPf%IWIofJk1N*B>OCkTpcb$c7p&$f~SKN z*<>G69Le%g3AXPECLTI{)Su(nlwDin=Euogd32oP+$VCNSB4dsOoLoAQB-4Uo3ZSW zORTen;ncz;elp^IsyfE=`~ZW@bGBDQt_`EA^Ws=dceGuA&SVySR{HFR#K2pq=%u#nqRxQAta!?73V^sY;&OV(`?s57|YdA zL*hqB-553~L#3^O>IF-9%Q7*hKZ?=`x+RBrqi1u`GP3sBqOZY~JCeLvtUxea51?!I zF)e>`sXi65xa!_iw?lKPxB~r5sXq@A9z_|m_f=tFECm?ZhX@y_6I2p)p;m-R5JI=h zL8!umsxPW%-4y%wiaWm$KSULO@(RH&TOZ#zXB|kFI;?t@lRwE9sysqU{b7aSz3lL3 z{940lQQ;2v!bjzlR9g8-{FR|{k)yGr3U7Fh(+@LKUk66jl;h=3YC_3M*B}ou)V@<^ zz7n{;uwH-2q@kl)bBY^0H)pJO`WY}_>^L4A5wLekGeD35Vx}kmt`(8StqyteJ?w{t zFvX|R1o!D&%+x+krvdQd4mca>0pY2_2C>)>WBLv2$h_afg_hJ8Trb?RW7(O%AWts- z&B`F#%Wp|WWKQ2kN9J^n%T8Z4MgV77W=dI&G>;-WcDJdMOy%w~VAMwdVMRko7?PuX;#89nkzJgH5 z*K%T7DmZ0gCygqT@lFvJN+1=RKWI&E6WkzN;`kdJ0#T;k{iM+|_Lf3>27h-4co?Ep z%E=bcN(Rf%z`4}ODY$-kWsGT(au8=!>IVMY>-)K49XP8i zakVE|b(9dv$S#7Rm4Di(HUFArEgH1f4KurfgG7~tZ+sfzibsq@i?wA1z)5esfD~aQ zM&^fs2mbWhjfP!F^SxFuwEOe)YU4103jwo^p-QH`^utW=>-@_O!NyLT=qX-k^Hyj@ zy8S;(9+I%X)F)BtCBlD`;QTVBs7UlDr#txBz;Eks5Q@eSI3r|h z4j~&|0frTY=n$i&9BM>KjAr1>AGR|{X@Q4m5h?_u^ATnyTCU-9OiBPX^L!9RY%y#yNO!z$xIN>oT6g`ZiV=$6CR_D_RGSKeWsMtuR)4FZein4 zfYh%=d?4ly;Tel(;Vk-l^^aV(hp6<&GoCs>)<4{0Qm(_6th{u)2?O^VNw-;DUXiBFrIW2LWkRtP=Gl z3ijl_RjA{mjY5<;Ic;R~^fTo|Cxfmvd&$^X`U!>JgpPomJIBu8<%C-U-g~@hg0YkC zULk{$TH%kP2*+o@qC3}OD^fYvM4l>3)tDhW&BYlWO<@Bfn36t<+Aojpi!7eWL_O2M zw77b;Ek2=ZA!Nb(2q+NX8Wt=1onMsZ_D#!(_?uRJzVm%;c7bPD`??kcp+%Bf+|N@a zSPNjrf$}&8^6ek?WaO?_^8Ncd_TNShC_!WqwZDye;kG0WQBY$K-*|*q>dVM2NtR)Z z=im-52$LL2-SHn!&(bByLuTi0asCLwbd-1VBs6leGWu3C6-|X_1sr|Oi=!E=eb}`kM$|^!aA1c31lnrdw2JKl z;y!&@TvQ+=D%qc3nrfK~4F~&B+#B`Ks^I)fw8f@9=Vaw8xml7@Y*&qPw;P$?(voW3 zo;2jp6Vj6|k5|`5leqGKEdva>&g4b%!z&Uq+wB0g%EHo^YwYy$9O{S`KzI)I>3VOM z+8V4m77!w9s`lW?jK$7i>qYFwCQmi~B*k59_|iA3Ia%QFx*#p1yAf(V+a$=X^&VKogIsaZ$!w>2AT+s#!H z&;AU}-n|=*^i*55R`{p>fZ08<T8b;IB3$0hFr;ncx|qQxj;Uz&D)r~5At8xapqq<{SEy5O zu<`_($xc5;?Kg?yn`^AEKqvJo7`{VooTIT%Tpky&ihzhbUqP&k=EGz#Iwz(ySnGyW zeBQop_yC3_>y{qS-8|q9tu;v;Q-4%dnz53R^&Lg#qbA62;>cZLur|_)T8SVjz}Lb+ zAUXSz%jXvKE*YDy{t;d+jwr1>?{zU5gP7Z!SakQ2n#P12xh-l&N2S~T;RvCsx?r)i zmNI4M;9(X!(vdRmT@kE1mgTR~qkk%9K_Ag*EIVdzA6uEEo1K8p3vcB^s$;Zs*ceom^r_PYYK72(w&Pwfi|>nAL%*M>xMq+!&yP|S1p$E1bX`aQECz- zLEIyP;l9z2B{fr#bno9~aM&*^VQ?NMioKK#pOkZ3tVBR)O|%TLA8U9D;F4SOg$%jv zGs4O0@ZIVRXsz8m;1nHgLB{9xwL^Q$c2F5=3^uYh0_b2OZ_m-$n~}8rX`Gy(L*`B` z(d=8pGg|bqhLb1zSEUu~eZ)`vT`eV~!yJoPEf%_0(oSHN=BLSdGM#0}-EKclF{~2# zzKx~*-*k!;>d?Wk5^#50Qop2@{fl4O2f|GAclm~ zTdFdM$$MIEkFTfehxEzX3ZSaE1ZbYi%aUh|H0U0JOEAZT#1hLwheoD|;m^7EVH^;- z_Z*Y8{PfCh8uYju6-7DDQSM4tE{Zc9`f@0SbuZ*ez|kTS+GsTiLaf!tR@UCJcC*NU|w;s)tma~$-m@^Q9sS@ zM3ygU&TGYh6YG4N_9ctkr0zUbKVd0Y7G!*CrK2dt?&W&mPby=8BZM9ks-jkvbo+%N zcjImKuy7Km*seSFFT9~UH0j-;#pW;rez10o;%b)qbiA5BESOD{AD}@;{G3#j;=C+h zug7S?e2WaROj6gZQe`>siZJXqmzqHVI)D*P7Y+Bke$^H90 z4X9qG7$nfJE08q@3ibBBHaW7h&73Z(b$qHKww(;yyHC#sUXeR6PKE7Gm$&&1{*ccZ z*;}5P-Soxy7TWmn>(|+GBP_D%!P|DF*TPxWHj@V$08w{?^j+U@>vDbrcOklN!V))o zN;gc86O?jLn{;YkPftum@_RBo5j=l`-0|GSy`8D2KIg@C2`;oTxl2kkKf3^wt)s?p$ zTH#$-npr3UtKvoK|D}j#l<`j*%`O1Mdyx zp_jN-$z(ZTUa8}A45VuBA)Q7t@-JHuLU%;N1ZP}Q<^D0mU7>_uksZ6tzA&TO7|G9N z$nBljQihvUnCj#_BNPwMv~`ORt$Omrf-ZNk)^k66d26)4O5^`z*(cc)e!de2M$ zmUlGm2kq#c&0Zv5M&F5tlDwa=_|in-S}!MDl zK5_Z10`O&rcvLL>#j`|s9=rCgm`=kE>i!Q|Kl&q-3zX?}lOvS-NN>WVjKj6qSatiZ z#vL#d-glxYf}X~X@AG8JJCX8tUDNF|0nerH=)TknRx6BQ=SRQ)-cROgjOUUQNLbh-Od3RN_9yDZEp z=VC_VN!wDhKiPz}H=6?(3_BRJ;yP5u&5s-J_c?lRTZQ4~8&=x3D8V^eIAMIiYod-Z zn4rRsvs(U5z)$J8Vp_HRk11rwahAg$L(#f{s0@J;&r>(^eOK>dJKX7D$HAG)h)yDA zAQb^#UGD2*&*h(E!&cPCnX_Wo&%VChLSkMB5hgGnit3H^9qnsiJ*`Ah=S~_a>2Y;5 zP34dlwFOTr)=lB5S%olD>i(5j*ZcD%TJ-mH{X$#TjSG~5eEVCUJ5!%yQh!%urhlle;c~g;J$%r?{K1Le z9zmaLL)*5kVCJ~lRkN6V^*7jy;zR^Oq)~HuDOp&!IKy3L2wGDxwEm1@)D&i@ z6;;Z_F<(d;UVl5O(<6+(aa(9QpY*BQ>Xxc{)ASl6u72U0ayDZR} zCnbs*=EzUt`AkS<KW0;@lW0dat-6Mv2Wvy)Zy@o^?wZa=f zvMV|!oV;dsX)P-cF#67Xi(;g#g@6plN*&6l#i!ZVd1@01W5I!XeU7>tm8{Q_meO3G z%q>|9Yd4{>`&_H5UGKQ}AiXOojPp?V$Vpi|w&PYbr_)%MNnZXC*CzZ4jecyWy&FVs+>+33eN5L?C28r1GHRvhzS& zr0s~u8yj=2v?~TeXiRz?s#6l8!uKTbMO)Dj3234>&uTa@1ZrSJ5=51P z?X`FulZaB5l4MG)RF!!4bNrIaQ}e3-%494cNSOlR=PF14M1G&^9V4rGq`=mh=bXct zIKW0caV%`Z2vY_Os9Om zgH@rv40uK|u<3|0eWBfY1UIsWN$u&b2@8;qRo7Wf>}OM`T#2q5Z_oNEeY0Jd@+ZQ9 z!xtE+TOUJ>ulEE*jBSbulBK&#diYC2#!c03Hrw5P-OY*jv<+97Z@?eI z+dBri(?bgchjijYNG}v^*{;vfcH|*n1;AIrXRnE)*u81Q#`C5oMfu#j%<(7il_O-F zE&2nXI~@yZDgf0(ZmboXOuVX(N4$Ke0V3y@KfqK9@8Ot8S@mQ|y6l#(P20aM&^MOY zrq0<6q1^2x$JYhxM6lkOu)z#K!XAuV;zm~!ua0tNSA}^@E zssA!-#w%C-Q2>iQZ9xj-N?ij zfe=;m7tAkb3VsP?Mq^Bsfg16thjm?G~!<{{xsx8Df2HCvQ{EC(mY4He0B z&6~l6PzVxO5`P_uUo53^$n{j<=5D#RLlf4J?-B_fg|p?6z*ja*z-+Vpd+$D{K3(f( z8+}ekLeR5;wiGY>AxYwyP{oA@dr?iVE}%0WU3^5L$!N;0@7Pq|TK*X+RM4zCh-nyx zn?tjxAv&h)$xRGSo?n&80lOW_-x<&;Nt_NShhAep#!0Q9XNKenXf&)4Gl^5>dvrz> z%2wr_MBHd(q8~K&7nFG0k=)v1m~_EA^?&A3LA5yY2rL4lWFlidHYs1osk<+P<>o+7 z&nD-b7v_EahKNIK2uxBMb_ih-h7wHjxW>!+!F*u9Y~JDQT5fq`_?Kf>v0|tB zw~8oLf5{BgbwF(476)W*&BJM--ILoz%1-vCAG{}AgltFrGiU(aaRwi&8avhs_6&Dr zjK(>{V0^C{|D-&zMo{hcVp^LPaY9?CtLmyXov(u=?Y>^woa;PyX;U_aco`11Kr59c zwf5nZDzD5;EVz#Y+=MoBYK3Z)n1aPu=2DIP21{GK^#H~bk=KG+T3ojc+5i{vBV|ot z1H5?AX|dZbCH69GjshrWY)&1Y&jfWPzd251zL-z{)q=;- zpr5jE#-h}n?T9fYCg+wkj?9C+BWUUt=h}*c8gk&cpm4!ar4sWaq=62K$=|H~t?sm3 zy9ICF(k7pmjhBf*6i%F2y`LwHo|{ML#HMiJCd3mly?*v)ZzHirgfHa8l)lz?L6#aH z=(qqe!wphRb78#z?ReH&CN$$E*7bT0Wk-mDN=#Fo<>v*!vL|My#%EcAsqD#WZh8aiP`NFhl> zcxGZ;bTqQ;2*EZP41XfFj%1xz*x8tEh=1kIP3UAPYZNmR6HvR?PSk*O$OQnXuN?B&*WEdJ~hx@>4(cj`IdVG;A%67Dgt! z?=i%P{5^_iD+(jCnKYi&Vn#)nU~4tym>%$xfLD%NbwN=XkMc~Z+F214LrJ{FDDyzb}-uff?3%5MF20Z+OK0P)z)UsLXc>%lz(=qscThlBL0 z59k(9V>IsCW7>7foP?n&4${pD$93Y(WHlk(dceoaYpp{qW;JJFrau5U=kDBJY$~5b zwIWA>yAIMLG_+iEm^GY4L(l+RpC22U$pt z*0%YCEPfcqTmz)Y#uurdL-BTJ|W~xpW`3L2b^w!U4~}x1cVH9-c!xdnSMp& zcuU*7pBPg=Ee{*FQBvD=-qHu1-mQn`K1rfPj+)#S>8y(gEI2fqyR5YG8vgM=QpdaQ zP2Q>Tbu{Jp72%(!%4AeQWrW;MN7Ap(alBy>>Q(T_^Afyi|IU2GK3k)pyO^9yqjZ&_ zl7ACz{X>~iq!QD?W(hr~3SR^XUtV%Ik4 z-`ev;}`@{*8|3&Di3*GX#RC;9{1zD3LRb%?&J`btKTXk+<$j0$lLj^Uw|gDP)0?`ljw5yE}iK&W>Mea!)$!heus_XbVC4jkrEh{5Jpt#LLS#=fE}uf9adl<^FkOvujCs2>7D zMS^%s2d|!n{p9;0ZMs88x^?-{1o~Z7HdS-%_ z**_F}9jYhmal7+R0W_yGRoqNz1mY=QmI#}nc%%%fRhHCid4rR*yZ#3CLiYy5J@(mA zR9%VKu>I6Gu7mHaS+{6?6hwS1T^*nX>3aJ`Z*Znw!_c-O0EiUW*Jio{O*^=-d+7SC zQ(lC6B!g3GvU=q%9}ap{rxNZ}3KSG{S9h|Zt}yTW-f;vK754Cerb){29cAWB#3#A9 zPPJkPL_|%_3pVnQ=&ce42`$!0GVQjw&3O~(SM`**b>CUb*7@x~zZ#}mM7I9NHvBSa zjG)8dt9!UZ;LzA`F~plKI^2X|kBLxKbivWo;+ zf`kwV?(Pz7aS6d;kpySa;O;KLg1bA5`{K^!eXpGR@)QrlVR+CQtAboH#}f4^@9!NyXeDThQB>AFBVgse#rGE!KWaa1Rt)0kS8JE=irtR+ysEF zAn8xhrv+s=9mnkhWhPf-h#7>C;otDnfx*_0&^i~TqQJ?&(x%MzRx}O<6DSdC>Rj~!frCJz>Ohoo-HWPY_=(a{hD}j$8myUVT*uHi( zV!#NEsr&bFVS2hH@sLpuO_~RYbOC}*NAEjz>Ge(IyJxkd%c@g$I}@655xGt{S)W!@8tAAFPI^v!%#4MeZ4FWYsTw;Qoh*pYBOK2VWJ zU~_DpeCFnNKL?ZGB&I(0#BO5;j6kpfkA&YZH(8a{PmByPb3isro!l*O^24{~+Qk4@ z1rChKlj_&N)y!hJr|%5lh57`(A6)Z5Dzs}J)@Y$Lq;1Ass?@qtjZ}@x%drn?IkQSB z(wWt0#C_WuxlyHgW}83&ZAW<>izj8`v^Sgbk?F4WX8h(B$fcs&MDHek}Sl#D9Pb1FTP`v5k}>IA8(POuHMR2Vb=n52$Z#2Jl*lfY(qVVvN?gMUHLpGo+%R{W6 zy(W(BZVaKGZ=tQ7YuIm1f7k@@8G4Q;Km_GI4mnx&c_Q5K(04z4GB$`}@|z<0e)Y;3 zoeGMX>e0RAzojc6Gz!4Oy3Z4? z?zylppSG|iXUNOZo}NSEr@0R#^L?4r0#8W@>Nl+Lf3$MsG8vJ=$ty76DVc;WAeWl( z{GV14dzDR44y8I1cCEn~Pw9$0&?l0hpnR2@I;foITrD2+!occ2Xe|fpKLS)xVIPjz zw1L>U_0eVz`3l27*Fnk3o*(JA|06+{R*;{R6iEvdSTJ>K-Rc5(RH5Q#9%SWAdkiHT zCrhE9o)cHbGd19y_%oA1fn;~7eXvtLOm=9v=UH`qfoD-hNF&h^URgy50OP-M%s})= z4i5M+?~M^R%6y~dUu=M9iESM4jETYUS4gm=LChr^HXxJPew?L%1Cj}uQncLl+_l7l zA`dXg+k3B&XQi1WY8zzkW1)S2@tUONyyTJ??Sf%4Czn)5Wi|ZddzGsE{zWfN`YA;v z)domkWc9f2e5%WfW&w^e3n3y=nd_D^%IY42qr7)}^s|0nHuRAw-ctw+N+SmF(bx_t zpeR>Ks1=XS(q;pXW>p{QA-Ag?|C}#k@{XKpgWyy?;DxRL6G-AaIKyjp<@?Jq?Avh| z`~y*qSlP@jb`CS96+W2IF>U9dz5koKMba4T>L4p|H5Zg4KvV-PBb(2c+lW#EWYf=5=9KKaX>xtvqnukr#1S}rm5OSj9zt} z%Q0BpeBTX{&86S<+{uQ)Hz*-o*t#OYZ6{!j^HyWpM4JD+qHg}vPVC&^<>{&#lrn?c zDG+UD>UI~%%-eVUq;yGfMo%5sYCsj?3Q&UAUi+zlX#dAjx(t9c>ed|t{ct|60hfJ?hpXj?sG@RG$Q*x@R5iDXo=y~tc9XfiZ=L;xz z1oaX>gVq7$H%P^+9t(*7dhvXg>Ez^ee6+4GGGGS17?V?`UX?(crpiv^dTD;hyiwB? z4ybDIUC&f7S+Z>fvhlPB!7?QIH(ekxI>0LcSFXCwZ!^Sv_u&MTK>SZ?Np(9dy}4V9?P~~ zNIzca(_L!i$9+yZ4R6NcuWdvx^y$hO+%`B%RlmEa7#*{x`zSPc{gpC2oUbUjaVjbo zGx@=6GL+$k3wj}6$vniRO(LZYD+#{T>@?GdAsbE`7=jjOw=@^4A>%lCGv zlxfDRvG&q&`}BKT!L3)^wog->_gAuI$<1GY``el=35j@1S^_-0N>Dl}F%{-{&P0ew zBaVuZA_OxMs6%}mO4EV>$)!RlIvQI9^(z(YsF7{dMo&?%yhSoPH3)tRrunv}8MsG` z$%rR?*A0ZSvAnOUfxTf*MB%`nsvEeEESIlgu=JRaryyQjo|!Ds7hnaVvcPKGu}vJG zYSa9gyi$F45;4CnFxLO&{ntZepJp#Q|H04&^p)rI(c$434Uj={6dg1tN#;DCYX~b_ zQ$4u-Szs<2&$;_LThJpA)&EI;)hwN86Zf$!NBXw!@+&c!& z8Y6oh*&rPMe)giWx>0|DLJPhoS~Ulw_eetP_)ohrVa%GL)md|0y70;m1*WOb`bt;D z7k|2gcajMsk^mnx`y$VV3QnZG!T|zG3)W=#D;k*59E#O9$o{ z%0s2iH~O8bH%bD|jTIapcG1;c)d*AE7k9LY60+~iRLxpzvpSOgPm>- z+`p?nUy7l-(_Jm1+!*_K@i~YUns8W9crEn4_nk#_==p58@s^R$`~W_3h*K#mwegGc zMC+<);}EUX#CK%TKXocb6M(3Xs4V(;1*b1)(qCLznR_h0D6m!FjcaOo#Owsv!+)32 zSI7GYTzW?(=Q7mt0CbG`;2l8GQc?BmlD8eMgWaN(ZlTpa7=K`^5&yfVZhVJT_NVJ= z^k(P1>8)7f0~xBbTBr@EWVGxw#qxK(+5!7Nq&4sRdeKwF0Kky{0!Wh=s?!!J01#NX zO$n`AA(mRp-b~Xac02tjLM{Dh&@b@RDe=!_!79CPmTsiNx=N_{0`+`dE2v4f0m?-u z6&7%cSKrPqw-4M4UylkNFM_?MzO7?oz14P;m&YJC3f&zTbh>BX>d#RM?nc*wYyCxH zUcF6iI}3j&$7o>AJ`w*j>2Kx;+$h?UNJojR{CiQl5W$=F)i_N#D5e^8x(3Yd~i+*zH^=6`F7u)TBo*V zkhz8H!M&iWuukiK^7U1sBG&@HP+*=K$kjOqhjh#Sjf9ErM2D1g6Y-?F(PEc0c2{{a zL&}3AkSA>l?WpFhm?q>}IKOqlKcrwKgF(<%vjU*wn96#1`Msp?sotw6zZx7SJQc&( zLxZw@G;AM~F?fEHM#t;-WF{6NsPg;0XqSgod}Al%ZIZT=u4T=*Psi&qeB4QaJzC0m zJAC3&GcD(y3AFJUFYhs@23f^k&6wkX7jp8jq$ZELs*spzi1Y`GZ=}LF&s$472Ws>8 zy?5Yp+&D0(=Nfk(n76Zy@(8>af+jO#ADk2I4bHoX)`b+?mWj~dSMwFlaAz|^NsI8i zoW!j1p1$nTBQfb1HW8)82*XegE5w^(CW;QUXWw=i5cABI*`-IWcOY7N@$}*PHo!u% zg7>Ut7_h6G5mGpNIfZcHekr^M=u#~O*bEuM-Kng)QbTd*etiZ)3z^u9Oe3Z$&0cOh z-&nRji2%O%+)go=*;|lTnpsX9$D~Qe6lI!SD~~11?)F`QyC$MR{&0_|>Gu6vuHj-z zdL$#iRP-S$4f@yWUr2tElnA269=}B~UEWgXdK)Of0rx#(#rgj7#zJDtrSwl05 zoPD2UW%|Y#68J8jva=RMYZ3a$En+cVCG3wLB7%=0B_mH2BN{ONxtw;zqK7V*M+Yg< zkCQ$~Jkod+tt5mmJal(Ond@yh<+ns6<3&O*On<=#k=~#dNU7e&x}~`9@s-%327oy? zWHD4(BNFQnZFb>p*Gho8Q=mhYTUqUu0yaRH?|XHsbOcUGNWJSl*m5N{k{j7%^I`j*6>8e?sIqEP7uEc28}odTAC{vb)Hwm+zW=Iz7BMg z{l}L(uWc9`tZ9gb#kZQ$f4xA!9-05Q1p{ApaL}Tr6lZRHX^$lwbfH}wM1h0GY8su7 z9}^_uR)3s`6QFCt%w;UX$1@#eqskysQ8fi92)rt2)UJt$5_GW87d74|{^ETQiU`eS z{vvxW1XzdXXovoKvOZ+^c{x=o`?JZAqUX}KLm>YY`TgW}Xn}X4i0;~~uuM0Twu$(l z32Sgz*X08|i}Jhj86jsY2Rc?hsOrKXO5F@NeUFmBrky10J$lU-^dSMnM&TvX@E%NSzKXPDR^yM63kbVkesFMp+b-+$d%wiE^E9Ng}obiH5OtX?rL)N8Tm!! zO}XqrHLTCHC;Qy^O1 z(R=%#qk997I!213jEnG0l4#-v8vOfH#jWU-u>J(ZzpQqu(h&$-Fm45lJMMD{vJQj7WM|EuM02d4)twJHXxvnLNZvWSv@?Hj z6eLsg+jNiaUyQI^BsjeFR=Z{!hFDU0^heba_oq&sjwL^GhW0=Hj(Gts3xv-+OXr*e z*hRoC@g*aK(lgd|-&Feh$9gde@hqbAsqA8HEAx!`rg;JE+vPH%7B6FjDlCM<8)||b zN9w@@$RzZdAZ)M>ayJhB(rK9^+S_8-3Rtw6n z43c8e`UF+1F;>Q7z5d$7n$PyS<89_@SwLHai&x?wAKU~W{`neCj5W$h;v0Rh&Aq~M z>EbJE;Mpk%IliO@%%EM_xAfQC-+kj#&8yiIVV}kDjv2$`p9UjG=J3P{(54F2Vn>Zg zf-&d}g`J_=RFZ(F==|T`OA_W-zxCKK^+Tx%!1Y@)tT5i_PE4s=6_m(Y? zBW{PhL%+47JT(OK7iNXM)o;fI#wci9ki+R_tNx0%7iLH7RAtj)0RQEjA@wT!8nv7) z*fTU;hlR@WfCWGTN?wDB{l$|KvfiG$KLkzop}KT)l{#)gpuW0zKs{q=*yc32>ScaI_1S^33!6w zXIzlAgb-@cuN}1UVnKc9P$j%uMV>_z(`}F?~dwsmbtB5E=GPN-Cbb<6kTQ^HeQ?aWh!!h zOCI(@`wY##PmnAT2L~un+i=7A@28zxVE}s_ws&CDAy9mfu_vkB?qjYijBY2^cwq4` z_xwQ)dO;?GMOM((b^;WiJD=z^Za(NWPT%=(>heF98aFRPN4>fyLfCj0-}FJhu%CbCLwEEE1BT5+?)Av=Ba@l*8=d3f+ zNsP~(c&*oT5SH#W2pL}t!aL8;R4+>S=MCz#XMO&M_c73Bt3yhbm&#$vq#GK)3-!_Q zu6!mDe&ePmz60wa7FqiJ3m?FoFx%f*iJ`HF|I~539Gx6=_oyMDu2{hY9cO4I9)f+l zh3>q7jA+zZFjP3{7Wwq=-r1V-Rm1t6H~N94IsKB%L# z{`usP^*N6#qt4)-f4)iE$lTCG@nF`AAC3B4fC!>pKDhi5ZCKr)>;TDKjCnuKFg_c# zx3B!lKZ2+mv_|+8*fi6Z^3Sc;#`VuaeKvQ&fxw2JJxMmn^QT`M#n27@0C3PhKGP2d zntk-Gb;G3Gb}jk6c&YR%iNrqKPYYe6>)#hldPf7BAmxT>^|cyuk8X61A#VaOaxbPu zkypDW+?@@aVggQ*Q#50OMQu<>W&8deeSl>2jY|r5yHZ*-d~fPz$xfjTwKDG{9ZoEY zSPtNPMmu2_POchH(TNU`iMm*RoAOx<*K`fysc)rpslU8!iSM3KJgQLBvdWN5`#Pt{ z3CN&()?uTjA(9i-pLVZ2Y~Ok@^Dm%*D;VY3ba;kYIh4)mV;+YP0R6hA?VC8LG}a99 zP_yM=8JhUMhgaX+;Mw>@d==Zmp8?ZbO4^l_d-aLG?cV&9%~|^SqZ+va&T0v>+jiXQ z3)lWv&X1f`>Zhqr=^Whf&6XZ%lNoDA=0#eAuT* zZ{Ej(&*o81`a^%Htu_o3@vL$dyhHJaa+~J(q!ob;0-H3ww@ZHnr{r&yU)g(Cv_-8Jbv~HsQ(3d1j zx>O?X}2p}`&Y=hJ(f$NN40|soGV>=$NTWq#`T!20yu41ddAY<<3~3BdY{)5iSm0kXRtK2lU`3|%KB#Q z4bcdi``1jROXMT|%W_hF@B|mpSqkj^v>)1Tg95CCI)}(8QDd;AA)`F z$QOpuTtR-<4{>}Hu@(lCdY`tEh;EQRT8o^(4zez;|2#`(8H^_-g7{#B1G0mwopDh! zNgds5((j6FPzYva4?ZKkxd)uvqPd2-NvaVp&SN=8UbZIu!lNrZsukMyVB03NEZ1Wz zV2kK{bx&#Jrfv+X-p^XZ68y*7;-lZ^I-VkRm#aot`c(;LKptgmIwNhfi!`=KS)X0b zlbhYdW(2>FsTMSFqDA`Uo~1WE>f_qmHPRP)&>$BYAgjoA=$d*t7yA8t;Z^ejKv4Vq zini_(rqOXAfutTb6(8}@9SYKC`Io&d=Y67~oyHIThqKq=78*G&NMD&!VGBhu^146CpYlwLWCQ_@8*XMWSUozl@AA_pj z*MZKQ>CAEGUupWVD&!|h%)MLnKao`aA-Y5G`@m{`5wPAXEmH{wmM;S$_iNo)o6w>n z&RqkKrwwe-j)X}NYSW-IC*nt-}%tKf_TcQCt%Wki#HvoYw9k;&pnk$90>*tdly=gVz`adiiuB+{v`v5Vq7J>97d8A>l#ZDCxr!RkQwpUQ}NL4S^F_psK| zco`#6M!RHf(zAlhY8PxmYTM<7{hx#!UrRt zfnIFBY$s-;+1I=p%{CvPByKma+81n}i9`AICU@GVRBzU%U*r|U7VZ$x%HrBOV-AW% zGy7at4R1&~!2R&FGXyl**@D0O1<{?#Vd(K(= z`Fe9?QROZ5qv}5PdKOLl<^BUNzu2NG*u3#XDz5G8MdYs^{%QgsF}n65F7;n=!jlRm z!_+q{gwO0pgm8qr^yyqr6NVX{0L=RG{zt%Ni7W0+u}aGM0u^sN2<(r8W{Tvv?KNj< zqVk{4#h%Zli640bSJKGE4*E5=EbDvDonJp_PV~3Fepl?UfM- zc9>3QulMucM`R16(_4VxLamT??N8j##mf9e`>_DcSrr8X&UHSRb$OJWUd=RX9Nr}? z`)(eh@Qa1Vr8L%CnA*X^7xJiZtN^rYPS;;q2F{_;fMoN9cjQ}@1QNYzak zzA~9ktsJFSb?H@Yobe?X0Dbv$G52lHGj$qL#AphyKqE8n54_|sh)h_8v3F2p7>{QR zURR9gZCJWOez$6^+K^VsGP=a2`QRlRA5-G|x(3uYfD%>f&a)o)N?AagL{>Cpwi5AsCuZCn^gR^R2+>bH2k|wE&L=m3oR-yE z@A?BjF_aWj9m$cD;+9XU8tm0tL*cO!n~3gnZRkk=+SiX0K^>M~W>5RQ@FSha1sY%8 zFYyQM8AfRIS;lQ==u6wfTasZLj8S0q%%Vv&vSE%Pu8&ADHtI{m!Z+HzjEi<=;)Nka zy@-Eru5MB-&KFvrr%>z)U!2Amx~|jWam2xg z3R9Z!^lIB3I@%P~>}?kK`a$NUEiU1{csA z9of8sGW~DAI|8ip9C+2uXSl0JB#hr0Zm+iVJLlU6q?EU(|EgRngzrw^^9AkMprW8B?lUhx zy`%Qr@o~Qoqij!FN3o|hy>3w-UnpNjCv}9yi$FxMnXy;I8N{D`!T6EWbkhJVWiMOu z8&ucZX3v^*M9u=^x)qeiZ!t*jJ_;27?d*S7usc-8uP)`tRG!B#Fm72n|0i5Z&0zJJ z5EgZO<@eQV6Ugb%QrB$HarKfjmAd@M_lws6Ec$;e&q;)ObpV{BLiFe0$1XnVM@;3y zvW&IyJhz&Aog66m6i+O>0=g=+VpQ1bIXTb~*j9eBcvfRDdk<=LZgZ12`#FyB@Ktu4 ziZap`J!jd6^un^q63>b?sgP9mlxbEN{)hZp` zY$~LsFhE{u-BPjjFJsxDbHtzvv)=yt^z;*Ao@I`};Zup!JOF)$VRmd*v(@)ts0uP2tV3ex zSo2*qoWZWhC>E?wTSWqc)<-=h0-X$f1-;PIfqP8XC6fCplE=vmoffO>XGJLck)_8! z*)JNspCg|@&h&yNZSmHtQ^a?6FlD|_XK0IFQjKTa5%0K z3W@H4xsKD$ZT1k8LzEkPB;rxrHUHV*se#~|4PUMvb)l5(_Jr@Fc@bc#=&z%hhejpi z@qNxQ5VaW3Z8;+XS1!k#&oP@Lgd1ql26W~S+s~zxNbAz0HsAlQ34WI4RbH~&{~Is} zl#KJTgsLP+j&tp+eB7q2O?aFA%t#Ml7CRov5^m^wau%53`IA0sJu_~ zcyPWW2hlO(zf1hRCils$#gZJsMt|Ndv*Dw{X_cnL^Hx+`zRaWT43>YrSG=)b8a0G?R~<+F9^wd zUv)qFqUH5voL!@-@cd>g+fR6Zsz^v`yT;s4c!I$dL`cv+LjY`y4^*Z*=% z%=|@JR$;d4N+kmQA??PZFvR97i&t$nFQ7i4xS*u0h17b3);dqwz- z7k=%gg1^PbjgqV-S8%>-zFaoBl((~>U@i}Qp$7?>G`B11gGM9jT;nqciZ#)J6rU?U zim`*HJp@DNj{J2Ymd(-&Ip7EMEx3YD}B|P z`NM#+wr9JjJ4aSJ&s@n;rjJ5k5XZcuz4V-aY5)%&Jmcb#>)WvdIgXHGPK{sd4|ofuU2#ky!sa)~LNV)IIEZw=U#5J8ned=0y+Rpen* zH&6Z1wj$%n(-1M0_vk4L$^5n5IYI9fj*Jr;H6`Rv8oqQMR$(8_WP>-QH};aWlly+_ za}9)4o;FNXV+;qsR>c)C{ZK|O(mx8y^=1r7nPL&W@{gZtI+Y5J>&;iemw0w$E@UR9 zS`BZ%&oiqsxqN~-wh}@qLTK^-5skjT9&;|bI861jL>ok{qmWF-6yB*ZBfdERb9tKeY{TWw|VT#5s(7lcos}*e+ zcW(b%(b_a6aU5XaE@1|ZoNK^NASg{XQrO3xatYc0!(xbTB5Tsnj8 z#MmjfR;s7Ptg(C#7@3^8E(?ZYgyX&Bme5@I`vd^}jS0?*-ikh(Y1M?nvqYm3DGNs_ zGS^Vnx|O)8s|-jP=SZEXZot~z4`(|}fztscC6>#A+yu#LaFCMy{THo{Tg-@7zf?c-U<13h&~#)NBja+1hU66ipVC zk7`Pv*e(l{as-C~mhGT17d-`yoXLg`Q3qF7lCj{u(0q;)md+erYm-8Yv?;w_c`o0Zp%TQ@>a8#(&-amPA?n%X z+blpkrfHE&nbLZ`;wS4w2_9hF0y`pxv5M_ldn4TJV|7kQ_GXs5uUwf9@WS`V$Y#{| z#jp5t<;!^~4V}`b%lY6Yl4j#`!;b#R4qd>MsTTb*G(eNyX)U0w>oo`FAHb%b#XnA% zQlhAM$60DKFMiL!6#1%u@IwQ%yY#K}lsrNwPHkWto7XSosOBf74q zv>m$RGsKEdryr52aEl!cjuAg9;7YAz_}zNP4@jd9$1|QxFDcEbWk3WwQjSs0#*f=l zX=byF5Ad+c$?GZDdfyOT>5+J#zG?IP(b`7yu52-~b9=s<{!XFK__*$j_?5XJbz8bN9iw|z&>5%=>4>^i?=u@fd*&Hp`y$j ztFXqk8&1F$wBUAhmqwzhTJSNKWN?e&d^BAUCxC8)D+KN|L8d&mYjn766$!>l#z3c4 zEw+i1ERIe;k@;Xkn*=9+*J!a~w88Tsw%%i+devws#VD0^NzilYL8i6WjlJ61Gx=Qe z;@_jxNoRjsWqIb9mTFhs_r~_xayQ>j#{$&%<6ZF7`NLDPX1%0K0CnX)zfO8q zuzZ7L4l7Pzg+~cmNd#ClgBnGl$+Ip#cbvFOo)NZli4S5rr!}#y?>>Spc0W;di%5rGwgr7_YEj zXRPrs!}718cVzr1kk{yLd8<8LgpXgU?9}F#<2jfBcDBaZ+l5N@5O!euxVU7&ng>zv zp9|_mP?|k}l$R^Gq{xDp82>ISyAMO3e6->8LH-%1F>vS89E)2ApNQ8-#Kub6j*YCb zhALeb9fab>0HCp?H2@kwFh$4%KaAoK?|b+@7dXI^b=SfUKg@-TenkYeL29C$(=Z~@ zoN>N^rd#cOOauByco1xTUEC}vbctcz=Sxp2tKJ{HL-MmnIc&`dT`tGc|45y)!yMzq z`iY50xi9e}#VRQcLM*Bcj8PW$w>+Zr-QTN>?4Uj2$)54z#Xg+@hl$^-?(cQ3c5AA8 zZ*6%LSx_LTMvc*|3lbIO-!|`3IB-J)!C53~+E=E%1hB}KvHA7lvH8LC51xTwNnzUm z5_JDRrtbgm#z4C5VflG*aJ8%1qU8DA#yIN;2<9i#tPN6bFSIZYxF@&QZv5Gc4Sn}W z7iG~P;_Dd)`L%e-edc2JT%$8g&6G61nGue0SjZj*Zq$2bQMUMeh9Mofq6#3;`ur3I zF|3X4%b6+j`<>6XgC>|cKNhRMDlPnURSys7m*oU_G(UZV9ba(Tnu{C?PA%;BP_9XA5drod?z4pwkcig>vPu*#oLa&4}I^0%h zSD6rOH4&#?FOxF6TZe98%Z(vtj$Q2AoT=2*BZnT8Xb-5lJKg5hLNG%3Jf?fHP>*ET zD?Ft8T&Mg26PR;;AfH0${oH4Bchh%%(v30;b~wsf`1Pda zD}SC{EG;!~3#$T0FXfDMcaLZa%8d)JoX!!f0T(qb%Oaa~b&eFcHN5er;o~>JMWr3; z`0hzTbN9uGm+a*<<4B8K(;qVtV{R%Nq~1dDd6a#oDo48w4v)6^1ET|j^>l~ zrE6IY?~XZd%vN}-j;A~#DPos{MUnuAD@SXN8IZ4*p70I*{JX(aL*9$3PircT;Va3- z9-DH&{qBNpS%>*xsYR3$#cmhO9ADS?yeW3;!4lF9o>}Cj%4FQk#TEfrJw4WZFTN&&a2CUNwAE09IWO`2g>_yolTU*y8b7f^B0(K zel$lI5P_RD^pkRuP`73qa-rO^9z}~!xy@a9%kGj*0<@pT zsn)&l!Or6kTE|#waKktyifo-aU;2H+^o2blh?vdfgh=`r=hASVMA?a9xDLx>^kMTt zRa&u*az0mSqRb4ROpb@rue;Iea?^7Dl6U2#FVT`rp(z70)epaPI~;kns3}NeKLmO& z9RZC(vZY?TyS-s=hQ8Wa0b_guev7{I5~zJ}tEn1wv<C^1k*O0Ckfv&Dq}%?RFR!bQYR}9#F~aC4V{ZomhUVbXPO1w_6B8_Oe1)lSnApW^ zX{c{iQ_Qk-5u&A_o*&=w_A!LZYBt+WE4A8Ps1$|5S8~;hT}O(N-qx>P{7eMU z*VVck-}dh#Ii^2V1q61Q)C|$S>mtgsU#v$5yu{3XAsB}gIr5A~`5QZr2%Sm!0Nt#J zSj3VAk<#Wex;2f6j3w1p%S;z*@bi<0$@=b<0b4Md52C?6SC5a*mH4lTLU%BJ`VJNK zbeJ#Q*{GC$Q2es?SrJDeeOGC189fwOV=P^Bj^dyQFErMzv>&sdy@q%8FeB6^D|DB| zWU^P;i_IqWpPk0L2+1^c6-C{b?w;IhYncG-OS`e`NMYb~;_aXr$^mKLK&7<(@bpaN zN3W2c(1yvkW^*gZ9XBo@r@xfTylr+c=|7TRH4e6k5=HX3U|C`Ac|Tg3j8HS_&ECsM z65?AWCMXY`Seez~2{%1<+Ok#0dln@v8V)Zkw(;rg>$R)@+t=i-fOmYlHZxtAqbrK(2?g^=lnCON>Ux6?>8yT zb0oXS76+TA$C+DJXZ_BSv!Q6@8aLn#ynPXI(>o@B_Sv5sdBc;6ArVG|T6BxnMT10R zNfe(ji$Qg;wWhDi)l(eFwnVr{Gex`eMPL^A9jMJHL}jo&BU+IN zdc5_VV8>_|VV2E&R@H-D6PCm@_|98oYhDzEj5_Cyfm~CQO9J^Ppi;4i3GTQLw{Kc^ z&JbpMhE0@0cF%*&)Cf^q!@m=SC`(#h^16`4e}^W~_tEZd3@8z#48dNw;9Dz?j~naL zfr%}@rhx38o2b-TujpO$fOESfPkoH!%x0+sqBM{UKbRp&R!3p+CN0Yw7TFkkhgAh!RUVH-9FKy&@_gv=2orX}Nt{H`166O~C>wxjQFi zp;L_rUz;4sFr~~0%RW(c?Yai5!z=vEjg!7l-$KSZLQXeDd*6yd;CM?GI=wChw4N0+ z6$p14@weItT8vo`yQB$NzX;#{GZi;_Pr5AfjQv-M;rL}QTMX=amA{>t;=8}|KD5yB3d8S3aOR5+QC<)Vm{bS9*dP@3_n>Aa{&}S`2hCZl zv|BYZibX6T6UGRHi09+XI9*x}%`nwYou>;s_bxu}Hu0Z_3)DC1_BSr|cjt&$7rXm1 zAX4A2|MRdMJfNg4*kSXXn=9AKTu<-nv%ATaL1uO4t37>7S-W58nt+?rt%%^$JLdH6 z;QnH~7yd<0b)}5*R}v4!TIP3{nMMI`4j^v+r2IKZ3aMc;B=nJ3_6P}W>%NvSSS&lF zAN|o$=A=;oW}~s;nO6DLDs4~x!twdw2Q#eG{|9>>NHr|~$bYCI!fZu6b;J(g&&VZa zGiw$?&SUrzeH5(->T|dz=HAsX|1uQtR_nge4Fk<#5UhrMarH+*aYLn4U&mv>xb-rz zj?RLjy7&l*K4Fw8wo9|59#6BM#=gg(E!fhYU>Nb}dn#Q}kncl?`SdOMp}hvUTju?7e|fq#2$m8BwbJ&|7fZUT%z7YEU0oTN*cP>+tb&k6yGfGPg>CoLD$7D_cSc+jvZ7&VH zR)roLB`c0z#*Yt#;vGnB>V7`CJ{hjSiR$}PKUl+1Z5R^={1gQatfvr1zoSCpx-A4T zBiP^x`2PYik!%q%<=ZduDZ<+67OXQgWX7;l2>r0ut@&yy4^MK`8O=H=9+C3>QNVzr z3&MUH@^_>hZ1;i9(vtkvsQuUc8lNUlDh+QaIM|hxjPIH7`pW9l#;r%dLapPc0)(G zg0((ee90E69jj~cje0a3CmM4|jM<&fl<(WR-83OvTO`gvu>|2*yPU2r(YF zO!Q+wu${X(q=aGow#X@|*M{Poq*Z+l)4~=oJai*|S&~iUqxdA}lggqKT<&Hs?qb!4 z!(6QsNyj>2YsQ!r>A{lvlRzUKg0!Yun>sX#RZpg&=QsSch937M@h^+?=fkkx#%{h> z;wG95t{ruqR|Jo=uj3$Y%Tk5|z@tgFyJPB0Q(EI-k3KiOfC_vb1Ro#X)n2_Tqrq_& zdEK}PnK#Mgws5$z0u@vQuShI}!;uMwn?~6c7=>b(frLZWdR-n{$y?Sp=Iol(4>}?j zM{DDNeG2J&Z=tvN8&zU#mL&zFV$uO$dX85aO#wr4v_)Jfq4uI$1a!pefNu#(?(?tr zvL;@I%w9h5Uh|q%4~?!y>UGY?d8)}CDN^Bc#2QOcHhVQke~}_UyNhkBWxf2x<8{3S zePFdP*AXu^$-EO4r}zZw2QaA2vQ=p`NButR?M-yvG3q4r97M;bPd78a{4xr3vj9Wq>8C>Dyzs}85fV}@elIeSLje-V!9!X&{SjiwR!`%NY0+a2>SY0+;PgtD!(}e3KVqrN>s3M$u`<$( z9*Bfb_jCKzI$v{7jsw-_y1MVp(IS*}ZSv0r*XP8V9&@xgKl=6$kana(Ul}yF2WhW- zoxHh+&s(1zNP}DTQm^wG7s_iCXi-EbPqv+8Omj?9+6C8sHuH2i+L6KxLU#`3@88`? zHY-jn3-%vz*C^n2eSL^Jf}N^cU6Tms7t`B&wBt_vJr_l!iJLV`(fCf4Dd(^XXNfoK zwYR=xS#Y@+JNhs>JNM4R_Z`eA(kyzjF2fqAO%g+E=vS+^|6f#Le>W?2JFoj(0dX+{ zAWOO}IH25y!V!W8XV=xM_K6~QLx0W5I{n5`7;zPn&TSKihubNjlw4KtNS{u>_7^3I zbN+RA<(?NmZp*{Lo##N=^Wenjr!JUb`a|)C$|(?9S#mSrx0C~}ymkl&_n!|Dea0fQ zRD~b;tW(w6FR;1@kc4jBEC<>6se~QV~5d)yGB`j z|FsaQ?i~oo^ml;`saQ|U^q)W|d+b2zIaAqo-lH}d$Nr;VYfF3Nb|xbQdHdDFXav5L zb(;4OU3@S_C~UKRORfG@+ih|`AuM0Zk-*<81#WhU{#qE{$>BD*=*gLi)r*JEk1>=z z`q!?(_g9WuzeRA*N)Lv6yWvvFRM)fbBC(LL;uagJ$XPT(4DlBlA%rIEg?zW{T<>=z zO*{(@FFs!xfa+6`UogL);;@5+@u>>SyLvytYnT}v1Rq%zHk?82dwk}BztB%YA366- zYnWu6xmafJJ66d0Y5wqvKA8+Oi(rKvmC{A^bLJWj5nzEH*Zpj0vcz?)i6&)DWH1;V9R^sq zUas<)Gl?ndC**M$s(4{tJoN9S#D!Iw@q!D3f2+n~-%nYo#CtZekQwI<5o9aiPfmj0 zeSt0yW|&5QjiOYIe9ym^<;7`NA&fC$(!|2oeFObY6Q5=zeVm4v@Z5`GteKjsV-fjZ zgnd<19KrK0?w;VVXad1qckuv0LvVMu;0}S{?(Q4hWpQ_xAd7o&cjxju=iY~V&R^(>$1yrPIa?r!!r84TN1tVM%hfhY<&zp1%KU zA?D#p;FtNN$8ow#vBZMl!%uQ9(*+^Ei(fu)2pt-luhw*MJu!zYZFJGP@HCUWl$#B0 zMgFRoGNbKELw#u@3x?qVzbd@4>$W{`k!QS;F5L>w1*kA{4IE6IC=C1i2J|ZuD6|-4 zCZ~v}Z{DCs&X@j!YmJ^;gst-2HYuASfb8#{79wq32}w5tt`Uq|E;7jqKVNKqtc8_J z9aAbbU|)VjAZy(_#pSDr!i5{qILHi;Z?_oc`(Br$#gz8BVbjEgdFY{`#BCnhs{*by zRhoECcY=^ey{uegPI09T{ilm>F}F6s$S=N(dViLSj<1{~2=)0huk-nxQ%{APLw*F= zxmt5T%_YX9qkq=0T(r6pO=`+^>FP|XlFgkh2{@C_{!N)F?f z@2AI}4OTJi`*^i+zbvw4VA(jDZs zoI|){eM#qt?e<4EvDd{poxADvB-+!uiu!Zim~L((bwx2(fJ83fG=?V(|9G3AxKuF5KJ>v;8^Be}3hmTBLgP*RThcf}rhZwQ;b* zCKtnfIzFae!G^Gvns!2=L8hOZfQQhYalWSe$08TrHWIm7$60xC{J%tv@z8&--ZOM+ z!foUxjcih3CAT$MWIfH}I%3r0hJVG(h4R*_D^xNH5Zw*x3^We`>ERws!-L{l4`c;e zpza@XgfSikPKn`|F3ARWaiW#7|BCA(xlwF{6vYdpDChc>IwJ;(G>05G(!PuTlu7-a;-iMB3(VOWKR=*<+qwwZd{Gz zm-t0D+@75Rp3n6a^XtJdVz>ahH4lv`9SsPZ-0O}T6qXW?ojKK;q5I;#t@eC#8hav} z>p4&lC8;{;EVx+mZB~zhzSbfm!@<0Z$ZJ(pZt4FgJrm8xfAGH=x{nX%e@MV0ci#BG zXOYk$wOtMt3Z4$zc3u1YL{7PgN+m(*c+mwbaUMWT_%E7XFI;Qc&mN2aFVC2P!7VSJ z;9&a%2S3HzQY0G@22w90-D(*$#5P|8(kaR*;%}OiGyF-#*11p{G)rB4r0ZXV{}^J| zDIOezyJG$|?lw?*3gfmx6W8_YV`{>6d|YJFcY4haxt+tgYt{6?bLBFb&`|E+FX^I* zU(4M3&d-EA+a*}}_oyqoZCPfS&4d|>YK}fbBDRT!XL#bf2Yv>%{8ZPYD;Lu#8shwQ zee{9XQQAbrK6$w&ctmlU zVGJiDbF$ub#S_qhq7DkdSnC%Q3`tpyK(-+kz6$G!Igf2QQoC+(jws{J^23PWrZxu!DA zoMyHb6pnwB$Pgsy1Mm6QV`CCm^9L*Uhy@qEFEVO)xX)u6xHCY6cHz;}T$k`>59NC<^$aMh@H_yQUtcOuWKB0UM<4EAiQphKV&BfJ!hox?px-aaV1h!l2lz6i zB59|19mo*pESinh*P@e*x8f*L$Q4{oL?=xKf7#kimz8hBC-bCnV*(HXEXgJyNZRor z(C8@>7}$f3pjwv127#UxIm-#l&zkYt$1PNqa;Tg%W;MVTV?In3GDa;S;;4EUWhT2r zQCAX=0_>{+(k!-*)o902QoJ0YBN-Tkhkw6S?8PE7%!TpCH!Lu?d4_xPl+L6cpoo&h_jcr!BcF=ARuXq7>}MQwvV zhA&8yyw@;-3oFPJg9|f=6M4L9KV8&p2b+_buQh$Po)B80Jslr+fC zq2Xh*YjbM~@NVIqfhSm`;h8KnygnQ6rRLr!T!xCAkG-&eWdu5V_W@hLkBY3nHG_0x zli>;Yn6)R3d{oYBb3Lx7e}J~wp66}njDF1(&H;jTF24U5=VM%(|H;hFO6p4G>yOW< zjSav?h})f(lD$TOgL=I4f)%Wj@~$SAxifv^Gs$#msp$Xt>q^HoWdoKeEe%*`VF~c5 z=ZfjlguND6b3fqj?Y#Rb*}4W4US%ZdAs&tVlel8hI5K$`7uX6j zp-oN&fWS)BsRGRaO}mkb+r%nH$-=w_<55XcCJQqXvKKHM`t2c}cNR}H``j?T5XoK@ ztsIZV4tfBM&dZgNGtXcZhvwQWsCuA`6toLpyJ);WR5qZ3&DXJPxxQ8q#qFv~7NI`! z#PLHge)!%=Hmyo*f-?=^(56@#Osk zZF{xaxq;8vY5uDQdW~*V&@Yv75kw~y=q4-L?StNx++OcDvZr+aAkQs52|1oP&g*3T z0DuXsp8T18YKjYvGQb8n@io6Z?^^^D(&S27-wug_BsSdG358jC9&NT$fn;BPZq_uV zp#)be(nd2NM!GVzO*X=-Uk{m(^VzMmEUpKuS~o8Pkk3O(4ymNx_4C{%M7(8%3(ou! zqXSk+f!7v6gDW#^VTKg;?{nE7!Q&%7fz)-tyBYW5d$EX??t&HjXZa?>d0DBxwg5;!_xq#}^sYCV-uL)$zC z%x9k}h}>1BXN4B$s;kri&+|k>#+=4;pgggaXPs>z)NGF zAmC)<@(Ik^i#z9p6mxR=UWJEwfMbb~sA`{SDzfQQ=`@*%;DaRXfCiu`8Nx8SlPzvp(Ix+9q76##s7p@0v2DPkf9^!@l+EKS)1mF+9fI z6D9#lcx3cn0y0~K51Z90vfr!ybX<(215RYZ8t(CxTKDY&&D zo(k?`kvkNGdzaYuo(lCn#;lqZMQ@kg=a)9>p#2%jZgs&voD>T_tibn&#~ zobvr5e8lg6K!Vvt_{(2p(Y#4{=w+U!oLF%Qw^9|=JuYP>DwC*_cM^i?z@VHf_^k1d zZgRZjTbUGL%a?^p8j6R8TsK-Q4t}#}jPBaUNU@SO`R*M8ONEDD9_2tVcRm+ypg-u> zX`VmkGg`2Re+!;`L+qwGE9KwnfnTxXx6ij0ckf_biavax+lBVHw(QuP1U&J4(C&MQ z>vzhBH+AY{tnq9yg*0zHTw465$@Vi;^S%{dv-t?u<$k^K4N|aI?LIN6B;GcZe|7>C z=3QEW)^=si*W!#{v$Q!K$y>~?uJyWJ(sny(08_|gy>5h?g?I|~NWnMJUg0fp@`)l? zj8mbl1BOlB(sYUqHRO&zTZ}Gg9pj}4CQp7i)I@uo9nnc;T(u~je(vUkM#bAVl{Ghi zI#yIv(|B+9y7YP3x46>RBl2d2FrK7ADlOgG7yylGRnt9`AGr`~Y-CG9;>2TaOX zP;{Zl3QYP4Pcf}1oD!D!KL|ugc%bgXOD}%Z#Eqv;^%G)}%aHz_W?phqJ6(WO`yMW( z5$*om<8z0@WM|#sI&0=&Synoa*%7Kd0EHO#QYY&^xnO00@<0j5@ZiOuf5cv%VR&HZ zRt-Gy7ffbFmCocb-n_IW=9qUC;#8jWLHrd%A42RGVB{`<-y0CBmfg^;e1JnRSuj~8 zuknTjvqo|D$dor(79$S-uAr{V($gj4@jvFAu=AW$`0gAU?ZtJO6~Pq*Foi5 zIwh6+fUC82Ward2Cp;&*;y9<5w*%R5ls+XLgI9TjnCOsE;{b3goK^laYL=5)Ev~c3 z&j#d)D{nR$3Nyvt33$w8LhNe7lkg}$G%cn8Tx}(&C5bhQA}V0wP4U*G)r+!R*d?3J zL{bb~^iRVxbN;KES42NeETFm71m(QXXyniesBK;!;ZQWXa9LM2@TsFkq_QQJ#c}f? zT=kgROw{DO8dU-k8^n#fK@wAgrHn1dQY*O~fcZD0eZf}3XzmutR9<4`s6jfl>W}dr z>hsLB(d|hf`s6=ocKxyBv0xF1=I0?S2ZoqO>5rd1v+!Wq@^X^8QwqOT#O~Ps#3VU~ zv#>8Zn%nb#w;gdSgqCf=w;xWkuYYkPO>)+4X}Z^s8J@s$$gw8O4^o&pBUdYc*gE?> zhZyGrQiJF>m>aeh8Ov@$>MR6fIiM2O@0sE9x7iDwDL0i$PeLL0=<^Eavi_Z{hw`c33tJ@BjOh_VAf;tG$spDV8(;m{U~ae&168Y~+e z_tHsYPU9$d_W6SGIY#QI-ygEAV1D25EOCp!Q-_EddtpYU(G}}$EW&fn-^DUZjQQ}; zfV?*5s!jU zf4v_JY!+shc>c>vG2MfBzrc1Y<1H4_>&NMeJ<-yWI7)A=7`r;oxiTi0PSUrbp1fzKIx(R*#&3qx>*M*5{++tezcP6s z3Ko}cl5O+dV7~2q?I!$+N2WvN7L9qu&bZ>ZrFC7Y)3KYNXO3VI2!!B@`hC0ck zHDj7+Pyp0H=X%O=(vfv@{4ql{|@;zFD|?p72}TgQ;S37$~5tuZ?Bwh zURCmsi#p`myp1M%({k-v(r~-5B%*=So^Hlta3c@wX(ahs4G0l&r%zFOH!eH%>Cg6bSNCiygs>Qr00h|8oG}5pd_%$qWqL z^T;2<>4mIAJ)^vMUw)pE0#F>=t4!lKavd=yEZc=2Exu$2TuVl=%#z}B&PxlEgnWhf zxRDG~hVWxb80A#xsoheY<)5fnjbDQ`%bZ2xwJA7Ar@-X(aCI3{S2w*t zBDUt%5=%m?;0Xs4+m&0!ODuIJ43+Z8NS2Ys-W|nORq(vKlx&P?JZtb}$+MFfsbU}P zYp*Qd66WYrgSk=`+bk3aE+i&{F#OTHT z8!`8KbOZm9L^VW;6zFK)(3O{K_1%O->^9He#Ez56ERAXy73TSVCgLsEt}!__BmD{o_ZV2(<>0wBK9R zU8bt}IA0p*?%^`t?GB!GXSI)2(93amFU<+NXx5Lnc z`>L?c-rgGE9yrqRkxI=Tui{PFh3x!v;5kCzxs~0v?||9)QCM|PaCP>I!U}>+5$6CN zci3$ANyu;zRt|CNR7)Mcaz=dc^Uj&05UULct8yV@J{DlzfVPwFJ73TpvK1ecTRAhA z@UYwENx4UH(+c4oeoL+1U|IN+tV78iJ0e*Te)x&JlfF2A4Vho1SC%EMaYfI%W1ZKu3$y5%-!$G; zN7G-|@BOWLltsU>>xI|SI_5eaN2mBX8k1blw_s%Vx=t$Mt?r7;r(^;Iz=!brc-}8G25?k2`(2QYnol#8zZ$zPyUXpdM@{szmdkCt&68z3F(^!9<>p) zvUkXMY>NHw#r!BRix60CB#fQIz#(@uVpJ)(6H#+p5@o*hp~86d789l(sY%Vj_Cn1o zoUMT1z-FBw%NxU8fU#{Ot!T!P)}Z0wJT1ScoiwP~3VRAdeCb+&2>mzdf@E11iZP?0 zo`6QrP&Y4&9M=-6_Jpay4exm9{*ryh8W=~H0Zu4Rg4_03Sm~%m%D26!^X}t}$$fp8 z86knn%TnywAc(bVltm9$rKrJuuJ9IEqtV;WF5>)pJk}LHZ+Lz-->YQO$aFn0%h$uH zbhw@~-|LXk5V0Wo11vIAc@-C?6%clqz{6@Qdn>Wh&?L^VV zIcgKWN+lubGY?~}WEG*4Sfc`W&j(VrpZnF;hp0xBE8NFp{fb5Y#3bwt<&eF~bk_{- z6Sni#>H*u9EzkPHHWUg@AczT83o?wtT3m(;2vV}mDC-Zs>th6+q-G8R9~uh zQ{q#q8&ZA5J@$aQxKfQ>$TjIio546jXwozK3n|J4!cFM}cVbD-z*jc;*-P^!b>k^U z+DG1lr8A4fjw?MF6<|x|xiscN^6aN}8Ia81q_^`#0f>vP`2*VcaoB}IfY`_LPFC{%!i8 zkcfwjqMhKtkpqZu3FXgLlxH)IweP3| zqo|KglKh<_b-d|Gnnh824U|z?TRDoNgHb*vwOdTgt)n}Y|C@}po}zSEQo);r*_w={ zLFEub^b59$Qi&1o(>w4sAW6>R{40sPt69a2?FRD=&Xm|VIaz#=K2?jN@$l+Bd(1f5 z|HwmbMs5F~0B-7JHh6`Y!%x?X%gp}Wg;IL_TSPWcfgGGC&MZ@Bm(kVK&_@o;zn^A3~`WTme38Hm->_W(2tk*g^W@c$YzyfH(w$aA$L zg*(xPfTwupd7O|F$V9t3tJ-5%nLzN{ZVJ4>H#=IO?9nrcl8)IJZK?HzoKBb*Saoyc z`7ORBCX{~<5_h?*oGE>su?KN=b)tBAh<2MOEh)bxl)50xGN~)T5VPpiA4a?L2z{Nq z(wbrSn$xf@{H=$PC_ECd^YAR@Bh^W2YG}Sfa+ObWeC`sDpBai8U5*zVJzDQdE~GpQ zbjPGl_b-(FbH|cdqtrfvJfr5hvOw=EH$!+xD>RUZXMFaYmGd*lyb(X3a=P~DyyQJ- zL|R~Y?m4B-chABK=EqTl-3JMHwM}G~B;ezn<+evtdG=HL@V_)PDZ_wVMp1sV3e?zTJS zWQF_o&Y&aXE8Uveo1_2+NypK5RyUT2a_Ewi=5zH5?z()4IP;{EH*;t7JrI68X7v7Y z)tM+!Tnc7feJ`qXZ=~va@bIUFE~?kl#NwK-RWeWTM8&yhrNJDc?BE2PuZcq6S>aXZ zc=@9fXa4TgmrJU*O@XfjS8o*xN?sdpWy;_GS2>R|O7GCNnRT;EL3_6^q=_WKv{-oH+wtFW}Z@9?%j+#I&?SH+bFQ@WYM$gUrothqZ(N4p`MSr zYuHD=6$#bPE&_TX4%j!0OWgVJj%2PQ= zEqKDwKL1v=hAnLWF$;+wUTuw@mv@}B-#a@O6DIK4H7v&1_UuI8TUfRUS8vr&OQC`H zz5RB;D_a2$dEafhz<>W9WpjPU0hssAYeV$z&bj;z$?(g;f~4$6S~gw zwODqo^1U3L@Mj%zU$eOdfgod3HC04mMz5Bh+;}sq9dorT=clK+)HGaG^GF|^L0ksH zs#}!M#9rfj4KI^=Mr~)c*$+8yzHnpm-~F|x##o8~=V)!-Lq}G`c>YM>R!5g8G(Dl6 ze@ETh@ZKzSmqff567VofppTim2RGKGu)mA)}Wz%0zY$(zENaB7cqRk-x zU(=N~U%aVs))8H;Xmaj+5wdU_&MtnH^qQxCQK|F#N?650K6gI>S^?#LUU9$6n(^A4 z0~B`%{WvhtTKe0T*=g3rWxRv{&(M2{8dF&D7QlhH5F9(rasq)1JFj>lQ9&j>s9VGC zCa(2~K`w-8EG63FHHV?JjK*40%Np%GqFRx1|D#Ea_CjN#ih=9ZEC-Xz4ZG0!ud;kv za-4h&7fdX|_`T4FwUe42a|)n0+M&z&3+epTJlmZl}yYG@bwa{ zLCmq2%}I6Pa~r+EPfRaQ@`S<(3hCe5$?{uu31%4D2eQ*)jY6AUR4TQ~&H#Qk&`s#< z6&Y|--0zfal-;+H z*@2TD0SUKOAnn2{LfFQ-Tb+S+9-*vh57i2k)-{@;N!?!>Lg`sJd0j`m}Uh|vDHnmN+ z?A=Lg>Udp>3nV>8mOZRagSb)axxjVOKc*HNPoWFnYh^%ql>_%MM;xVoe z8gSWXn}-x)QFQZGczxDng@jsoGy~UqBQ2JT!9DEaYqQkaFZt_BRQ+@WGb+bhM=@WC!l| zttgy)3cgEur_svG0kcR1EsjY8%sCGP8m$5CrsvD#~>~da(S$AzbLPLdR60H7xzvtPd-!NBC9Mf-Gv!P-c)=LfI zQZv^IgYa_zD|aP=&(HJ`1tf93pZ-W)LmDfy z)@bvUKJ=!o{-pl5gJNCuV#REl++;l5e z5N~8O>{d&v^|VGW%qi!xj05c*3TxekC4)|>28{C-;N8{ z^pCSdBMzl;exakG1r(9N`3$k1Q@G>81#eKPvjPxq7>*5tyGJ+rGx7-yuj$X&Pz2aQ zaMxa5s&oaXqd#~F-tZimnLQaVy3E}z*63v@6t$KPp)>~w-Vi+*jRW+ttOvF-PO923 zl%Mf$p~;QfPg0(j*4Lfy=@X=RFLv1&7Sl zyHSw@7S_qP){=g{=2L37OZ#Gj$Q=r07B zi6Elis7B+zz9hf#s%k$OgVtTYf^WQ`E<^KIx^CDSlP|Z=7!^fg*{p5Klb)qbo%5ay zkj~_G?Wfmluztnu9~B>UpkPY>3kYFV2C}z)qrw3%{{Tp8s1-YTh+vKLFYIem`ZE3l zh!#L(MA;zKOL+GzwYWwrVe0-77bojAtO>yBt;o3)Ycw;+i9dFmJV{O;EKIPuwKuiB zgQWt1>j8RWw^)9m5gG5#QYpM-X9cuiIGh8a_TQccM_#qx`AK;Q3GCNpl1a} zIeR4Fu1w3gP>-@AL=nAC;sXrPv&1*Qb(o(+vYhIb=%!Df*+S-zzo~x69W@>i8a+?N z!&dZU=}iz^#JPxO49G=f=bNP8(%Ppoa&kGGGC~(E!x#AjESLw}^Fa*52-APp$Ah2u zo9!z>8v#P~@+w3?ynseM>T@vv7`XoFcI{WV$Cx`K%)Q|`o0#=&AiStZMoWYj3cF#) z*N-rbUfj>I0 z6z3`Pe5fNukCj%YaUeB>Aey6$If@+;TJ=DjWw=i>m{6MuBiBfA1YM?`O1TYX@@`NO7ZT)%1zGs&^Vp&yWBUU@xvJBXlGzkP>s?sxM!PU zdY)Xz_dfV9WWoTMai@9RHS(BWUziMXJx|1xTdV)bq|#_+(#7ci=999_zD23}G-2?|g<0w1R?fqBnwRFUlcUKF1z+4jB^_}Xd< z`qd#?j9&2NnUvn`4EFpf`EGw}WBPJlq|NxfhuO$5Cg-)|=3MOM<8I#fDr?a5`^3H~ zy_#bn%eh4mVJu(bVzI%BNOz!$1E7eZ5_XVuxE#;TA9)PvQ&M_~>d$+U&S^Rc))G4jU z?WH4AtmrL4SO|U3gW4~Jas%w%4dEY7F6SfRT>{FL*xQ`3FiOU0dHg5PdNef01-NQX zM)RZ&J?JA7;#6eqqfQ8!r4ZHWx_u<88)`GGyr>p`-~EhP^cA$jxUG=9{c`u|Y_o2F zk>}i>M9AQ`dO0^>8zn8=lVD(qMGg>vj*PLn{TSMFOo~N7^d)$Q-ahBCH(3sq|)<6uie$51LZ=T0{`&sMN57AVcf}9qVhn; zS|}ye9E?&^J(wdB`e-=Y$LlpaxF!TGg`T-qlIOtR-Ig>SZ(x4XEy}t(cTnXTViRKl z!qN7g_~!#M`J-7`aVv>Ou^r6JVjdTkX?ET%vThmZ-Na>tHoDWE*wz$Sk ziDV+;qDAdOc6)mLL5TH+&gx4Bl=w zZ;bC~yB~BK!tHvJ%HuZ)$8h>n=ycMxJ^liC$#5Eat%>9}aq-#!I1M?{&)61(6u^BG zNi%329x@Zf*#+tV6fU>OE^<~M(s=mYq^UiEE)NO;!~6^D?N?Wf%~w~BF3M*tZoU#Q zbxYKmW^L-iod|z?^99ctyk0D@?bdob^+{p-Xo+DW>7_8(as#J$S7NyIpwY==Pw9!R z_^dgM+rAYo_WQRzFc*f~oJ{%9v*1(p$@GabWvkzqhnllfjtItA9Y)HW?=r#etu_ z0tnT~*}UM2oXs3e_{U9ZJQ-(-2h$kas(3psYU`{m(c^X%@2#2J&H{4PgmuE7k*m^l zajS-v;V!;c!FFwZ{~Im|7dj!1N%Yc%ZUi&+lbG@Lf=4?duh~eWl}YUqJA6oeStpo}6pN{;iJ%0}Nl+GOePJWC!j> zQQfVBaKw6EIXD8PSje&%F--g6hDsC-66YWdA>m_?@OngV571w;E zv{~NC4w+pS*nyu;t3L6?jk+V!?RPGP$ovfM=lVgM?>P;xqQJGcJZ@gBO<%73GF>uX9i*XhoaVw^6f6Qn^WcyR0m zH0j)D9qioA?S9WsGS}>S_=oC7r14`Ve)va|sXu2aIVYBDS+{>xG z^*1RQbJgTZs~R+(lJzm~twqrNKsl?!vmzJyNug4wABiRQ-IttKb+pdSv5n|U4-7N6ag$h<#S}s{}#QLF06kv?!+dI^c5R=4YL=U+&Vl*l*hqY=E~;pm?Z|1MZ9{!lenhu9GEZ$Av_K~gqSC+ zprmbjz!7T=4q|!(qG6pAF7FNFZoP+gx|f-^Uat*^CePt%S@)2&>!h;cNqhfrsR@Vu zdHzOR(mU&(S|5w6CEj4K*};)4PbR;n0+IPj6=QU;Q)x|{O-!2?gz^pTqce;AD~d`k zXgn_VjD&j`PO*Ob>Vb_<_@~KoI9Un>d}Mm4;IAx!_(}med9S9i??$N>Ovy*W0R+?h zX-rD8AGE+yqRmqrz)k-84DGzA3ki((&RApUJ-nL}TYLf&M}HGOa4PRK1#|yOZn8>D zg%`mPY1!VI5l0#rA^8}Z_hD4;2;-|r>farA+H`&s>fn%xyaMgKAkiOh!D#j7jZ(wD zdxnn|a9>i8^A;1BHz1cBQC1BwnbM%V3$~+YHa2K)SaO9_Cl-t_h4v_la&cw8@#X#q zS!=Ul;xNtjoxiTGg>tco*UA@}Y%^Qoii%65_pYP{99&>?%SgD%V7bgnliouNvWa1( z5q<+gIAB((zGrfsh8_5Lq{XlVc#v9y8k|CQZ?78w)UMe$jkXdtjh<^Cq&@du=Wrso zFMVOVP$tZOBXt!=l_rs3Hx_2gV(5sUG|#x4I7q8QA*U5H1#89(4BJfX-8)Ktff##Q zPF{Vk*G*Nz+_)K6bH1v}Xf{H_0fulvOn`ZJQ*w3A@A}_%VCvJ02UOojhSHqJtrAHV z4gI~Jw7)PqCOI8-M3^;5v^0!??-|2hZxv{BomuqhuVVIzUizWv<5JmV`Pjou9J4GO z8l(TAmGt%|wCW${oLApOKmEcPJaYWCO!{f5pg5odo z=Ja3>z^^9nS|%WVv81v{=A9=+PUo3f=XXfJuh(1eZ(1>7LSRtgRAFp4SlpQ$=6+6M zn%sq=Fbdj}eSX;6PcboY4!R=F&CZMPL_$*hxXJxm#5z0YdA|=rz`J6TIb+vHjQ)Do zE8b_@%ew!~9Hg4YzW!6kn?!zg3lj-oWjW6Uz^s$+fL?;iZ`p#CKF8$A+UERC8mbzZ znewVURmC74>^F?k3TD2$kreFC(iPiEK~BkY?={HK3hMAT<5wq^xknU<7j*lQ}EQr_nhfzpYv__;!OT@ znP1&=zSKo-%YebTX_ekr$C~dvb5rlj?7_LF%97Q1RFG3IHr#qD7(%Q%Wu^ZIP%9H+ zZ@Z{grUSTdt#I{qv1HM3!Di9nYO^KrF za1r*MI-9DaUoxHKf;2xRKex{&;zJ9|^roUdd!L4DvUfD z)`VkHEOQTM#t|zTNy=&d25aQFa3LCF)~ESE1@j{(l~s$`{2$%7-8d*4O}3EneL2Aj91nEX2zk2?*3{aF#Ap6ZX`yGYV{1dRVSple~s4{8ky0~ zSLp^kD-PhY1e9nYS{LPW`XNK)9?!B}4QW&-JiL zEiyHZ!x`N`Jxjd|+3xF34In!=onZ*{e zRo85@xmqWlNY+#i_JZ0G$?h4vKt03T4B6*ew++huYxMq$Gp-FhR^&cq%tcQ9-YE9> za5#c|6qC(fU`MeiNaRt?&&e51G7YduBd^SgpZV=q&g8b$E@8T+dLGJrBCNi|H)e*$ z-{0TLnG0wNXd9!Nk|qn59n7xN1WBAelUNf&ot$?HFp+uOqt!wTq?TJwpA%g7=yP_q z5-x4!Hk`#30!1HvIwRG}rkh*x5da2K>6C~B;^wXl9MuS)^7N#9=hH1mV{6Zx1$vf3 zyf26O)v8b~mX`mt9K%ja;(Y*UN4>0|_!GmjyS^M{L!OWQ5#aJQRwTBv)wTAj{|H>a zdffi{HI`L(vCBqk8Y-#H;`M8z@1s-8@SjDO$lhK8`Nt%E5Ni$^lA~{gsZhaU$VhHqK8gBX{C>$F&ecuAH1 z$Y)h;OFcU}7cZ;B@cQh))8tVy33~NbT;5_XRK-~Ker)WGLcj(8swMn^e15*l#p-{Q z(+o*A3-e{0Ia1zDifIg_vaBge3$byEb zozuX^Dnl{N9Q#H`b7Q+Oe5v&QKm3TAVPvGJBsaD??wrb$ql4v|mj(jKIfs`+@+clP z>O_U}(7P-_4tq_yr1Ca8a@NM16LuWonaqk-FQ*XI!JCLXDk(m?PfmR(BL*hOq**2# z5$bP4(ZP3v-_hQf-F|**bh<-#lgmgNxQVDkhI3ADoXHR12)1F{Q}rbiG6$Si*ZxS^ z{>Sirh{DXy>z%OBvvkCAbAQ1)9z{MFOYUbu2|7D0vn8RMGxB!{C+qEK4|rz`8wqol z?Uz%QeN7h!)tr(&mBg@JFMpdQ*6LD6F4B9<34F^q-l+m#JJVl8WQ(FK~i0B)K?t6K1Y9VvUW)&sl_jBhM! z9CksW#EC7I+IA&PdTjaD$yiulb&{a9lt!}}21hutQ`6kOgj`MOxAr?e8+}u+mG*rZ zFMrciF9H1ZxF=0=Iyp*)b@z!|rIm1)N{IMs_49`=V$Vp->y68AwbeN8D_$ghKmFOI zBwY4BLvZUZ2c6qUK5bFM5sTqDsOs^C7Y97b2w2|;)C9qzJa>)n-4JFO+H{3&m_3~x z%YNxaeEsMan8M1d&3mZJ(;AAq*W55WSkR!>r|JUX%||QEw=ADK>Ouj7ci2ch+=JWm zG{t8x$ybjjJt))(?{!zKLv3B0WdE>AFTLtuM7-5pFxx2oNB;w1j+BaKPgO;6qgoXw z@H4ev`5idr)dWzH^6lDemuGpn*HXr*xPyEY^8zuZ53w;LX-f`&k9fi&@~2cIn5pKW zFih6CLV!i616&)ZkE?25p@*!;4s_vvGCb=+@@w$7w==$oQID&6oBxum!wzvd$-Nj*nAOV8A6P#d+1PSi$uxN014UpirxCVE34f6Qi zdQz|I-t$jSPxYLZsX6ECQ`6@gjZnUZAcUu1Q!h7%K44;B7*M3H>bmLsAk4f?K~$NY zU>zZO;wvN+c8^w^YwY^SxX<^cTxBsDuiP*~SUiT+!Z6m`6lkpc`WY&b&b%co&M=hL z+IZMt@Q%y)3WlYPir=BFygB#-`uzH*-0_mM&YSoXUjzM)3sQT`4j$w5rWCuqbo*A4>813^bApGN6eCVZ| zWu%B&*ty&nPWsf+%_+U|ut->aWnE#p{(5~*tMG4K9WZ+eTkw*cNaV`y#I5mhWOER$ zW8EjD90!+MdB&#BhW!x|`PkzD8e0%Vwx=H0>!sdHuSbTx5@1(JPLzX6kb;4l%0S4o zbBJo|Cd?6LHnfy!bYA;+jgK|yESv|Mg9J3_;jHo)@lIx%+i^ld0(|N%6wyLwn~4?w zOoc?>*Jl-l{%KcS?k$59k6Tb9DMdl-70>Hju5rXW@UEKbG(Ild)?Ez zE}#4AwYMVq`Ys&1A|dwr+c$q5uPTl9cDn_= zlA?)p0+LdZytz4bos^RMOwjZ>e183HX=a6S@}Hd@*!Y&n_Poxw6g4p=+m3&O3}ZpX zYG>fwmSp8>qpxQc+ai~0CY3n4A2$=)RF5>%*}js2dswfg#; z+uAB;`Q-MXcIBv}_pDjY?bhk9*pEjF&(Qb3?$>5(cT3&yHPi=MMQE{5jbo7 ztC*eMI&gwE`q=JR**llhxBZfATd`S|lr?TyyGNQxy|Wsr)O@W#GE2dfxT>gZ3XPg$ zBG-AX2xT?CiE9m{Y-L=O>ixK^`=BF|X#QkpcGkWYnO|LuW0QJJjlw3aZ|gNU8)I9^ z`>d#*-0a8X+A{Z&M?7DLEOvSC7#6nXW4l)6J$Nu16xY?z#}NJSb({Ty&6Rg+2?eFy zMOq6~Rq4xblca0?v%rs&jQ&qf^x<+}AZ5Fs3;!@!I@Z1tSjA^|{KME{EB*nIm$Aic z>K&TOzO`imH#xlYeQ8E?83aq`m~V~!b%?wU!w+lGNceI%w*H#WWw4#n=3Axx8yQ;q z9tRzyzZ|^z&HA{AD;cEX&tt2PMkn-ewD}yvrSPqVlPOb~DPP z(guqKm^k$Le2yz7qfgJheMi$*pT^_WXm(iT=BTmgDB{Y>&!$r|=<$4Nx%#PaldZ3< zXrIQVGW$(uUfhNKBs~@!>6Q#MPh^O2E99>PG)1?XAUYNQs4@Ah4u=cRDm8djcbxtG z^E$Ybj9OM2wyt9<_|0+Nsm2@h>z^-gRA0YjK;u_3Ct0n1xwns`t;)QThFvt#)ONt3 zwlT9#n7enG?8eph{Hkz4ijKj{2r?Jr!N9kJ$;-Zt@l{2H!^bIlzSa6Lr8?r1VCmSZn9Cq*tYRgOmB=XYg|Jke=QNH)kG~^s!j3#ZRdT!&lS&;$ME;4 z+4=U4?w1wI7CGC+G29i|XTG^L&9;VO-0y`Jn7;r*-6nX58h z_BMG0`r0CbXTwUdB8}!BH0g`^XvR;Ox^A^B`(W&Ms3m?bO~KGM>e~(0xWghkVx&* z6BHfo2V|v1S~QA!0g`B@D3hezEEA}YOX$3_^U-x}1hdgL4a0}Tm41c-!!W<)RO@K= z9lWi4m5jtvyu7~WrPBaH52AmPL|RC01@n938K40@jMo1Cq-^ z=$HoEp2}y>8s03b1s6Az^VY7s!pZa8K7$-M)u zhyOOG`4HU$9xF=3zk9e3SYbaIZk7i3DeAA*epneXqyGi^J8i%AFP*w8CG=6Cp@+|5somPy*#wEa@ayFFB~nQHl3$=QRR)sEKxh3i zI_9W;l2IekMnJkhs+oH z;mZ}LzAh+^MaAj?8;#+te+jHyv^&&DWE1R$>S32IoB$^*dgm2!)T&}RfZoaA>3ML+ z-6)zBx3r$okwNWqPhfN}{9+exU*9)sb;PQF;BJ>s!0Gm`XEHa4Y@X~itOydG2x47p zA@EA6G3zV8{u63c9A1i7tp_P=jL{Lcr)vpe_;}1oER2*r?N2n1;W7GZe)eSWMeDx; zP~tTiG;yXcKb}zdC8?+j^Y1AwPpPaqkK=Iu23q;bJ zJv#rbW?~<&ww|7PxOFLi+npEEeD8>gx+@*^%7fB~)f(g&JLJ1ndQfAY_aiSw87SRT zsJzI@UY)q;QQ>B=PR{+jCv}dHY?vw>X`mad)e%q^Ii%WZ2eGjw5cayBoi?ZO$PH26 zTt|9zhw}&-@2D8>_WY7Le5u9aF*W^N^jGwcl<}j(^GL^ks?i*TK5?W6sUs$(zo=MT zuhUA+xP`Wgb@v)&s|$Y7^Jgx6ES0*5Z$yzi$P%nwy{erWu;?+T5K6Z>GGR79^x|^9 z%Ib*`zOrKq{mVUyh>8CYN+9Ryl`Q<0*&h<%wyPc@XLXyKG>(9KKzz!HWhX5gud55Q za*}6Mh-K?~I@*LfA9+BCmI!zDW*+jdoSu*ut-4TL|I}+LOlD{~&zR>%}T~ zMq$hQ6MD;v7%+dXton_!Co4sF@AN#}Kd6w_!s<*cL*6vo+^~YQbo^3u)CI*i<|Gg~ zLjN`5#b#P@yI1Q-yI%X3z@+BDjZNeSVF~B$(;Ff^lf=i=HwH$L2(w8Y zaa6RDXyS3l{KD`$enhfvlTc>&+<<&ZFm8F5m!5^@Mmv)!4YN*(n=pL0$qy~*Co6Bj18tW`>3c4%@a><|n{tg=Ww+ROa!p_}n$`!9xlp$z`UPQw13Fyu> z4!;%JR}vF>AYcmuoN=7#4q;4gWlGrVn2{5*S>^Nn3fV}_>vpodTk@R=sOl*18@>qd zRPG4J9udt}Tw(iNvz-sXVH&;~9~*^px=|Eb>&qS7hmdl)}gKAOe+ej@Z+D$ zQ~VOGc61MVnZy5lXh^eHsumg>`gK)96qyr{^-J)UpJ|~LJ$q_SbnYOcH_ZXiz=*3R zdFa+g8)V3su*_VZDudKj7ut%Yy1!35?}Zm+-KFbE7vxS^S5Vt~C8>IJ5)i{V-D%$v z&SK}t>~^Uox0HYFdb!kGXoD)9S72hV3a%m$Bt*i9$)N=pYyI7qwXZG{vW~50RCaVu zjmQWjHUDOKDjo>wmx(!I_-_g9svV~N6W%H>tb2*0!5!K` ziMcMK*WTZ*!}{>Cu532&E1e$8fi<<3)T$MnQ#TSS^1gOAwRBks>ru;JrJ+?a+chHe zY~FWf%lOi*XWUGiQ9KmP%uuoKp!enr#UrAE57%+B}Oevdjc(Q5MS%`AW}|RZlbjuG3cN30}dtvQi^x*H~{7&{srZC z=GdcZQ4A8kuvJC&zW2MKzN2g;B=c+=OqUd=d<6Jom)F$4=r6k4Ufzvmg)XoqzB+oe zkb!bAWMGK{e@`bY-|M30xo5XqAQ2^CS?v*a*a$EocO*Bk+A`|A zy^GtWNsVgybNOnEMaE9|cRPPdjPoYsYv2&eL-u{P&wvb_P8!u?X$wq)Ac7S_oud6l zwUWaaZ|yy5d?H;FZ1kWA!$@lZf$5V3oXsXXD1vLfUQFJHw>?wA{Nb7{8XVo*DH>6y zLG!}4c~Pu_`+=W@JOA|ac=~DBaT=^1SlnvmiY8i*?Mjs5pl5A+4(%JawfWZ+Jh#&l^`v-B!N#&Wix*$!z|=L9bFdzjF+It3-2kK_YsLNyN= zJ(%a<4dW!;a_Sq%bvCT1=`bp-lV!B!tT<^v4fJdoA32K44P$^$>>d3>=EgLq? zLyYr?MkL>2^tlYob-BRJ_}gM(+ZIGh(<2x)cHZDZzfSN#+NdK<2&SN_))@83obnRM zABS#)l&Sni{k`VuC-JA4rP8q&Pt`zcl;yL=L@rTXSqDMkt1AetOrN)Y_ z5Ub|lAQ+%d>HD*u-|5nY-(4?HieS#BV%}7Rxy}+h+q$N62~SjZ$E(t(`sBuADo}Fo z?zrx=W3K9H%ssE9=zko0H;SQISB(YIJCcKsZXbdhe|qQ)!l&fW*nSBmB7?9JFu&F3 zM146ur&gJMohWq@l}cBCXDe`7qrHQCLsGD!@+ zGJmN0BssbWG65HeyP#}Xchx!U1s!YZWFs3&4LriEoE>}SW@j$WD5I2#SJzA2dC?_t zTCTLZjI=+EcQ!s#c3_iGIg4V=4`63LUkdB>O-eV$Yj znm_*@zB9$UF0^SdJ?KT%skMlao7FH?my_V84ZKEF6}j~{d^F!Ad{53d^Ohh8X(H@k|q z#%tgv=fdHb?O@BQ80(ZGocA3(T`E`K;eV?1(H=>~qzP_VXGL)I?fNB*n4Y^k&z~L~ zVdU19J|UF6dk%l2djA}7_{n1Hch3Qgt)ya4xRtdCfRD!O^0}A4Y+d*@2ZMLD+Pu-v z;6^sL`U+REY#l4mgrMmlL(+{{n&ivZ&emWX;=*)8WYVUxRgiUce1NPxTo)b-bMo22 zTFD=x7rzV1_0x;`=F5%yMWofaak8Bb#^e#@kHCw-E7@o7y3VghgHmH0R^Bd_)EtWA zaaZ;AozK^QBa9}gb%h^W3H)4Q`boCaM#~f^N|#^GxXWLzf&E4ki*YosT|R?i9Jco= z(+_uV|EhTGJidMv7Hhlp?=k*QzR1A;zBqsFKYo6w&R_U?SKx6>^3p51EH}jkOnT=OEUqjk|aix{Ru%DV6TxXi%EJ z+~Oz(ELYvh%v{NVM?*@n;TulGNGqJ_(qT0zp3D>v z-&leF%BzHeWMU; zgUY5QDtp8SelX+oA;P~9j%f3%mZ3Rqq%UIzmzx9YA`WnMkl@M!J!$)B@G;h;k8b;k zS7YN!!{U+~CnBeD)eWtr>@wmt{dJA+3Cs98sQMeF`dU(!H6Fe&HugRx;faJ1udL~5 z@gU}&nFNsE*d>i_s#7cn(~3B!!&uf^nkvjDWV+@fgv^6wmfToZ31U#7F6mlP z^F{Nbp@itY!`RnLPWe;yy~8R)-u65~FUFJ=`!>yG*z3A*^3#89a}bg%R;<8`bKyvE zT}^yhQN3RFrKm!caN=r_xz42+L+vN{KK~rKN(vbyeUaZny13h-a|!CNrX;=1b1#pI zq1&k|TzFShK~_#Gt;DTUZwr;j%R#($8oiXW!Y)GA*u-H57{DVi&V-m-Sr$P3dGE@X zCQHOZvp%Fc*2#^LUtS&Li`Qc7cUnhAF|QL!YKfT3(byOE z_a>E#78h1&`#N=q-zn+^4q@xGV7FhIe&B+dxnt`msTtM4wj!*~cP5sUmsc0WWfNi` zDl=v5CwO7)j2N}hS%ENOq%*915JpDWxHk^XaJeO_pXek@33UbRx;N*(SM_e;>Qx#ojgIS2cNt=LFHwWAl0eYqa!!4;OY%`asj1r)4dG zZvTPB?MKvE&W3E$WsZ$=Ae+Ns7MZ?4D=Sn^q0%|H^8KXRFJVvCX*$nYXXU8n0&oR6#7p zXu0$x$3AZP3XqgL`8R}>@=1U5#6$EQDPZ|t&5B`p*`;=$GmM>fQsm_ERA9#|D#|VJ9Mk&`=Og5~mMF?#?HfPw$z-bXoXknd5(11))dQ(VlERuu*Mv z@X$S_^N`T|xAI7tJdTZB{YWG6Z<#Dz3gvf=8%J!y$?3syse?%72aztH2}*<2_s=5X zq*)RZR)^goNe$PX)k<~J!3HHhNzL6epFt9baUP+TsHCl5gI~l41bwpZU2J$f49WK! zG{4LaMoYgH_;*t`#fc*ef4`P0#?pi0wDYHh$U`*3;gS3bivWQ}MxVFQMzLY8K@+bc zKkTRR5kU{npBW9kwxLs>Op}DfSrhh;IR=W88NFrUmF}*W4HTgn3pQRhhO@^bM7vE@ z{I@1OnqFCXzrn0xTJ~W-*hBuPdw4AAf2maIUtl=2*VN8a3|J&NVeqD*&Bi5 z@*qAmu#KWXPpHJit};Tyxu=upLCCew<8Pa7%Qo(6mo3;*Yk8UwK{OnN)a}OXC{tj2 zN+XgcwRDYl1vd@<>$#Yhm9N^^_f^06k#9cV5>QMl9p6bx|3C3Np5e0nEl%8j;Q>MZ zbAr-*K;x#+gM}sJgpNg#gi2#QIMXA+DHS)RYF+HRyW02J+GZo>bBD+!*|+6asNU4k zO6akOp&M&&-P!$2>%sRLJsumfQJ=GlCX>@zF3LbFytV||G7G6Q5$~YZfqonGLYJws zhE_Gj=d)3qT>x3_FZBHT;zT%o5h^S zx5KSR&56rqD8jc1XSy}TxZM_xNiLghcuMIe!9j8<&SjTA2=ZmdSW;|gTS;YX2b|QN zQEEd{gm2QXt*Aw=bzS|3oElY`m#C z(CDFadcdyf9HZAuS4IdoUX(pm8)JJ`w>+JlwaHgzDqzUiq^~# z;z6-u;9>g?zD3!@HR;q0T@15s=%0$ zd7y=W<(iHVA~AK!MQ#Z(BUh`*zG(WjoH(6Kj-0+nSTuPpsv?bSn*tx~7dxO5?rdVO z^RMEkf#h!wT8imv&U-bCmk}Dr8{!`bHAesb$fHw<+?-zH7jnTOL0Bx7XuKRxvf|Ps z(1`+r>lojp0gtB0@Qv8=+E_sc-6eWUAa_p4?M&OM77$qkxlR!FImQm|PwAkUZY%vC z_lwPuEt4tj7YoC7?)ZVkVAsIe!A&lVueKk1z9B?k0F_&H;!VG-70qD`CYN4*0tD8h zY|8g`6sKd37JrM~ngj#EyIgF`&^?7f7Kix+2aHD5L3oukoiy9m%-C{K^!C);(JMsIx^f6d?)&sCi01nl&f za=y@g1}?;kaMP7SOZX1*#D>)4 ziE|;yxqL_iOG;0S8?5(coSofkb*H}Od`?LhgjT%!9D7m(pe*~-;&2>{80Bclw=jj6 zRn(<)5+ixHV&~TenmtzL z6Hx89^Vze%e*6Z(V2Wh`_Dcpz`VIn9ID9N#J{RPaU~fhNn9)eeH@El6w_Vgo0T}XQ zYzd7Uw#PC?S4eQzd$G;DOoFdd@#k@M#tV@+%}pi4NkK4Ggi2SqXjnB8WmFCQ8JawnD;N5x?Wuy(a`5)7VI)eZkiS`(4;HQthn%Ij=1D)?JAh1Whx|z$ z9MvUplk{A}*&nKFPE4-CZQV3iPdB@GtFh66D}$Rn=~g)XeE;<96v(^Yary5fIn||O zWps2JO48CMYP00(xzGr5>pFNWdw^gorda<75b;n3)NPyuH!U9|@D5P#)^G!BmOwA} zA2fq7cYMp z>e>U0i3FzK{mK2EP7*ASAAFcMh{$u}jTg)QB@Tjdn@MfhQR-^u0SW^tcF_`fj{0{X z@+bP_sPK2k5VKtjw*2xoKXTZ%Jr1D6X8%Zc8jAf|XT&P40`5j$CS$DLb9MpZK zW5wMIP3=eCwGk3zpyA^>-gm7D2E5pNJOrFh_$!O7F)b+3kyT zp?qu%ixX}EF)+sS{LsRpRTM2nBw=jQq~${K6B4OM8mEebnfpS3<&{iq$Rg#LHEi^% zM)sS(pbWqiPxWRwU(D{t)d4yvNY za@!)Xm#F(>^J)1fNj$X!-15hui!|&#w}Oi=4c9P4J7)`B3*-C`|I%Gt#1$hC=0TCg z)=6iY?EY?cuU>F$7hkU96;2;e_qP5m-6)#>9DTBhxjKy=ATfwR>5yH=-Ta=W!c45l z$cPXt#_liW@Fym_9TY6ntR4LKD!%_$y}|NGytAVP;pe;l=}aArCN;hF_&Nzk^uPk- zYBDS@KBf!nVF;81aE?#VRm|KAg~fX#uht92dv*BL@y(@E0l0+t^D+cpqW45VN_^i( z&F;|vYyH8{`G1HPavQ9?exv_H=DOEQuhuDED8s;tAi6&MoSFkG@flCw2ynNN%DmC^ z*f}nWT&zvX0Z^=$)>tNjWc?*rZw~xz{qvI=Fjg1_JC|ETCoz{cLqqw-C4|TD^%2`T~|+Xu@wr-H2H{}gHAuTmp4HAk; zG>i%!*?U%A?^=v+*#5);JG0aIrFk3PMs;LkcT|VSdBY zlmDGutX#h~6jM4{4cUq4Os0=t8Av~i9gzI2ihe)-msVyE*JX3DH(yVXAk+Y~%auh4 zfqhbz&IT)={sDx#7M;ag9w#IT{TedcLUfbM-ougw8OJ4>ik!=BUCSv(IG$hUT!Np1dViMJX2HC-{Z~D(vJjJ`d^k;ql%? zo#SEAeZIwiE^G}QA_#5+Kd;SZu@}=;;`l2e8h-+Nb>~Mc>i11gW_pI)leB$8kbx~= zTVC};36cxPfFJl`h5yyKF?(PKI{S+-#B=m(^q?z1zth4pv7By^eBHd~gaK%0@GdA} zI+MNAzfS!Rp|*ml(7pQZm@3Eb^~58p`FsP8*NSis(?oXcwwQCK2;mM#aKN0K6D;q) zct$HJDl1n6mPAumt|`QL-`VWkeGdOM)TijPuR1ZoSpf6t9{$|4C^GxetV|W75LYbWD9Zi(Hcal zYIA%ErCp;46_*-vDc>(U@IC~DDlF_FE^JI);WtS6iO7Xdsk_yW{vqM;##S}${0P~8 zJm|FQ#gT&<=55H>~`&NIKHlW-1UDE`1k9ZP4eKd-fJ%`H?CJ%Gb z?i1wB=@n}u`u5sUl$ps42>8V(A7>@({}1r-AHJ^dqRzv^LlqR9+XYrt{)+Ks_q1X8 z1|RrgH}aOei*uMt_1Y=ZItp{LhCC1bz!S^yNX}bNPcRV|DTmuArNXyz6aMz2>h^t4 znUwh{{6Xu8c!)bM0p+ByN4ol z5dh9_J!R0*)*s+-0c^&O7v0PP)4a+7CNBQ*VU2Tbk^C~lN>ToBerCWcxvnEW+2X+L zw%sm#mZ+lnhXE9+d|iOCXk%G^xw^u0L2D)e39rQSot^Mmj!o4tjng3je<=%hNI=gE zs(?+@!k)0&l%q3Xl@s>d28GIATZR=(8V8@^RN@0OU91_4r!l2bj$EZh++t5L-?^h2 zU-wTm+vnqYeYA&f362008f4%8DciOAA{v+gE@RM|Oo8?{97z9oznh^1Za6rIOUP_1 zfeuU!HW-9ZOC3K}1+Y)WR@?%cU2E0n+SvpCaoQhf9btu8BWGb_JOE>3{_gpXWl}yIQcf?l;R>x^WFB^`6 zZRM%$%`x*?t?oiEKvXDP6NtaNWwf;S7I{D1uJy-W-F{g`>mmH-yR1Y4mS_nYkkSF0 zl`9>^)`x!sKhdHe0g>dK{5W~h_81tPmJLb|g%tpzCxEm+;owy*zg9ep1Ba9TCc!5&+Q zDM_5Pb|EKgT0KxLr59&U`HByxpM16YxMazCw;0c!UjB|C0w7Bel?`R`HXr^`ls2q7 zv@tcE)r^qi^y6LB(vk6CPpE_dO|;6-G#ax#3MaC)rr>H2FP%U3UYRlD0vB?CSTZ1BgAQJ@f+f5AQ=Y5&8! zv~zD<>$fod`eErs3Tg|1Kk!7?r&Q`kW9O)8td_FPVd)}8NgO24^ZLh^j{y@0vs+StZ$tuZm`eA6MoQjM7i!7ydK{;D8 z#>vetTU2f5S?wUM1a9eRZ%z6bC;hI6(?O}X(@3IM!seuMoj}b52td8`zMcJHFDVfw2y*cg49u^Bsq&{d^!KfQ|_e``saX7MFzId8Ti@~FS4(hE?& zQ{dQ+sz86o9-0Sof*nI_q_~cSouw=YTmEE=S##&<%e*PGcH|zK5w@0>I z=C99|lw*MzXp-7HC0ZcoguR%kP>^>go*G^US|nML;Y2mI0U!r6RpU=SKypephKl4p zKz5EHi4aYy$9|ySoO+}Ks(dC>hA-9$bAq0p;XER1<24S6DdKes5pm|pHWNAI_w;t4 z3N_A$uckYJC>@`zE@khn1 zqj}kuK7=s6E*LGx5(Ouf(04%##lXvnn)T1$FBv`g{nCmFw@zW|^CQZrf?a*IlcxLM zO}nA{K3*0v!NijxUvm0XfTHrG&3g~f-HvAEk9{~s8{##HrdJ*iI+1${E{=z7Xz>BT zHDP=>`>dtcav}|t#MSMSg36VMEGFC*#XPHfZ_m&QW5Klmgzitiu#m}=reU54SXx?B z`bQD;AtUCA>qPaUL<#=ixLnjTwZg7h_t9sp2Ec_A?}eb*qj69aQ%Vl-hKoKQ4K$#h z=BMe+aP1>}*Pl1~U4kji#+Q~@wU zGA4eY!r%B)-^9Z9&coAgD4;R2g&HiU{+21ks3lGZfn5Vz;yu%>4Q;a0dbyuSc1dqy zs7bGX_0Vq6G?N~{sVz;!cMT>=c=^(6rn7P9!mQC!nZ%{>E4q4UNhC%kP~etrFrFiU zmGRe43K*P^RMM%6@u!%((lfJfIt~WtQ2n|1{6Rz0epO(y_poXPoT2<{;^=5Mj9w?O zbhhK$*0MN(`f&#CpFDJZ5vsUSpsXi`Gx;S47qe-TY;8Bb!s`py;%CH$9Oj}$dd4Az@HYa6YF z%M3Qy%XAO?u?n4uIP~v{5(3-6Q@ynB_alhxCJRBr91PFU4TDB735sYub`IUzx@uRa zz8_Y=C$#bXs5;SpdgTFp5aE2jq*aJRN0<*5CFt3gM@#f=VR<7$>f+;n(W z=AD7}w@ha;T0iM{1_(zRN`b~pk^ly3tMJiGX$qZ}Sfyh5*saQ(P^-Gkx{JI&P+cGM zr}OcnC71z?aeeMNh`4gnX7XfTYjFPwnK4sC@}8-8B$I^`K{jJj=F__R2OY%5VmH{- zy$@;IsfVd!wWaMLr+v*5Ozp)KfAvoyFvV*$|Y9p1;}^^zvk`jLs<=~y-`8W zlWhbh>@=t&^Xt0EeF6Dcusx1NjT8rAroOZ>X~9{NoSgZkN9!?BgM>n&%yFEWcY&?fnGfrU@}0 zNd{S#<4_P@d;`}9lqlgjHxsO06~6G3>Fjy5_FW)$G`kRSWM$WL9lSpo=9xV8wq^pU z7(3PN*{{*hJ0_k)V5HgNjj3+V+}efbE45byj)e9+Zhhq}NUpQOwVssdu*cfVS9D`n zsABdaOln7NCc*HKsRvn&5`VDZC%FMyVnaU?Sr|czY01yeya*jVK#CA(h~H|o`$l3c zJ6BHIege#V*Hn8M?{PAjj8a+U(cPQ6GcK|mQ_1?4il($KlC#1%zaD05t<~rK#x=6 z<#bQJ#5V&v>wT(Yk6weCasfl;^08Nsy!4&nwp#+&glW9rK7u+kOCza~%V~x0x@(A& z;wKbPfH!1*`ZtD z#aORO1b9@nxmsHvBF~`h)KE{1lK>q8G`0i;+2^IzJ8gVHyn8z07eNm z>mzlPq==($(UQK`DbMdt8DE{sRW0`I? zyD)fc&x-O1(d}B^%uuPdfyXat({%aCKfp7NJI5^grTZP{S(9UM;&B5a8KhHJ=4~ZR z4$r-xujnYpkR(Saz2NMY=wm(O{4guqLMN-v%<8Q$MlDZ=357M+q>!qbGWqLc{nAZ6 zSg00-Y0^$(l!`;e`wF1aDIal%MgzMw&x3pmm1G=5%};*+kVsOWQNR4VFdrc$y;5J` z3O8+vkq*J=r)g>gRSBm1eJ3?IE>S+V@uHgs`2V!EP1!p*kn@6m3PB$!dXH6KmP5=8 z8o^n-ZA`jmgSMCVCeiaq`)=@UsdAs;ciRu02I6Yzm}1}9dD;{puWV(GX7D*1;Oa`6yF6QPXi`ZG0d z`oeV?TZk}(xKi(25gNL>!%Z^)M`|7g|2h6wjr6NDBfYRQd^b=zcf)Pv8!yk75!ywO ze*Y!i2Kldj_?Gq>iWKx*jY7sZZPMgc4CsKNZ(bNfu8X6z*tqTKRtbqz!(TuWB)TCv z3Ct%piBeFHMSl2Ajq$Yht*I+p;S+08$#omyaeM_pc%!zqI9@DJS~p;RB5+~9Gj?zI zBwRK}N~HC;GK=l=RQV3>{+Vjh-a{Y#+Q9~A64Yvwn>oOR+KyV{64qS<6zhOc|E`W-8Ga97Qk{?Ul{P1<}SosCGwUEM>|c~;KE zf79hg{bsiikW=$4=;Aq01b@HxU%P{IAo3S5oA9U^LV5}yj>>*ntS_>vow5$hWaYVk zE!(4TZi~+|SomgS;lI2yP;19^=P=lky_%B+;#7MsvE_l7N9NYgAa?7z$pmD zZRzjkGbnapnP1)1Fyn-3tfy)4i z1Q>|SAX5V8OwoHHrUB&iXPP)9p%iOKa5iAbXk%zk0m?Ui&?l1)Z-yt#jkKP+%hx!* zycZ|B5Z2`G=v}t3>&{&zX2g%?p-F)pk1O(->7M84;)s zTdGS*TFTwW`d?IR8rM%HoS;2LsrGhUvCb3RiYun!SgAI#G$GbA$!`aq?$w~Z89cb} zQ>NWd>?%*Ax1TR_!S6>-WoE+ngZz@Chi$#yMNvD`+)A_|*_Inm zST%hNjPH~HfuKfECm19`9{!JYV!xO73oQTmb1i{eI3AT?lU-3cWM&bL_&->F9ioV6 zOvev5-gUb8x{h8e%AU^T>4oM0Fn-1k=R}qe1&tw;I>SS}l^!asbz$ud<9`|emBxIa zWy6am+k2dmQW;7d_376(-x@TIG+MItI2YM@(edq$)|}9jW@vkDv5LZThUd%&L>wjR z+dygPBZf1D-WA0d3D09i9{#{fY`Rp75u%}~%lBJOL_niE<|Y1=;;%PimPZ4n>&`EC zX$HM+qwO#LUmS1z9~?gX#P3kb$0NPvK5xm3#i**r?dEOU(l9XG0l~j6YmL zD+RPa$8t7@&M~2j{uUvO^{p{6wo$j9fZ5c(UdLBq6&G0?mk9~QqinIhY0~e3R;U5Z z`4P9$1N2vaZul-(z1|Z>^nuy@TtmkVk|9#2snmz z|Db*JstP?O0~!qcv~B1hyYE>lwAC;E#{wGDxhXNNd#DF4Qf@p@P9LZTA9Miyh#bGf z?{dJ56skIbejk@cuKqXTzK`wX*;UmD-@O0$(r33XUlbT3j)aC!nD&_j{XHgKh;(#v zI3a_bNmMPb4og>v(G>{AEy(~Hb-(&6b>PhMtaEjC4K!+EyxYyq_CLxi_%Q||ZgBJv z3pw1Pp+d)LfWC%+;gK19Z9%V?Fh9ZTxhsBRK{N8Gj7d-fR2F(?Mv6n+B#XI!H{nGJ zS%qb6$wD6Ui5|HBQ_c8*lwAP6V+BLH*MPp>lV^5^5McQY?=3IYRIr=*uwU(GOBxtv zPuZsDv-6_aQ8k3-d2J`}-e|WJmX8v!n)l;p@R?nS@o|B%l7%~c?6msjAmqgWu=G3v zM8^m;;BItC!A2BY_giWEJ-E`Ym-uTV3HT%fJ2%>Oez5>pjKceDkZggKT|*EhlvIju zc&|G!?Sr2J!&sl>N^mF1jVt%oHdK4?tS;~g7EHlrZ`Dmz6RgM(^)H+h3BeKu*qHc0 z<_m2l;OxZ{(K5Jl8Q|6OJ6&8Ib2%LAYLGQPvzJ>YaeaAm| z;_WkybDaStFhK48S6^Ql7S$8Cy|mITxx|8iNFxaDqEbuAf*{g@#L`Od(j^Tm-HYS` zl2Xzo-O?c4DNC37?*GI4<-OkLnNM@gH8a=wojGUbo?qR(Zv`Dz1TY&)uu^UACychv z2^aUTS0qK{3l3kyN&Am)x%+i^VQCM6TX^9l!Zh|P#VQfswqI<>odtI7A4)9v)4S$$ zYnV4BGVfiLbF76rJwgr~H~cLL8y^>vt6{np>2-aC**JR-P8Rg6GIlLXS%4?eYHtv) z>w<778YvA@v1G`{Oux#L^CpAonL+g7j%e|^<%BL1CtAmQ4XKLWN}mgGP& zjqHOffU}p1>cWuU-NE^n*!6MucgqqMLBVVZbBZ-}x)A)7ququ1pKs6m67^M+^~HHb zkT}f_H+SU4{GJt6o|RP4s_1b;M-|thj@MFTAlY9@gNYbl@pEUc^24ePg(f^muHgL3 zVUU?_XmJln=iBs%`D05pQ>>YfJ+OI?IYFXlb_EyWCPD1vPwu;m1gX>S{Gob;9iP#z ztk_SR_;hYzR}&nB5wFgjC_xTz9FwagLRz>?%tgFpEx!R?68E&@_W-siO>jf)={GDA z)Kb^kh$b4*`Uxa%>Ius=lVC=Rp@I)*IrJz?MQJuN+BYby(u0~2d-PqG%m$rQe+QHJ zs5QW%16u66B=^Z9bCc1)KdRZ`8osa^a;ED3%tzk(-F8MeAW;<|DLY}( zr#}e+V-s=-^1mLR@{YzaeXeF(Ve?Uqx_0QHzW|b4!T$a0@pOm{B1)uG++jqDtJP>Y z|GeymgDf3oE4#O%tzu%a*GViRyHc$2$YQt(B3Va?3Zuj?`?!+^#NrV&@>%XFNZo76 zTQs?NILb7m%L>8sujCN#D$LlS>0o#IM05}I1>j4{L__vtFt6f3H8;%2pNw0z)Fz@{>Wa#L+D~w6|BahiV);w^lFbB>1E> zM~YwdL>r4?x4lv>9t+gM6f}1z>OWU543rum5pBE#JCmozMDNV0Xm`_eh+KDz)r4$& zwY<>XAo%0?`+n%#$_tk+-TJ{tm-C8?2{dGyX5^TF@j4YDaC&9wq#Q+6d!Nwn#e?Jx zrD)b%uk^`NKzH-@3Wgs9_LzE={8PvI#gc2w29j|!yy}yUi5t0vQS`Ax&o?dGrVzM^ z=Arze1gAG`kXQ&^Mv#$RmfPF;a%Dw=_B%$+QIsGN5e=?PdATvt#G+ zJ(Bi3zPmXI2K06p|1J_p)n;eH1xJpl!Tb9FA$U%-M+B?z>;-VfS&%376_)g#l*lT>i$E zBia_QVQ}wbSdq>Ks??s+l1amuyNy5X?ALhIB zDB7V#!)ufpd?gpO&H>(Py`n;*p)@^1;$^leJAx0;(yoZ~d8F@XU>5UBQ6ZB^nC_ZD z_J^9P@AMT+quav7v_Hk~Mf1+RXkITtvm*s(sSYPl;i)AgV>-PHZk*+J4z0=`CqSsk ztmiqG;*;5h9$(gqTLX!cbK$-zv#q>NUywrRG(FusaPDN-i*ZolN62=$FD>WNrpS-H z%dkbqdm}XHXs`-_`eUcTrDc0Ke_ty`N=G%~SaT z*Nbj+Z+~8HzBCXnnNK8G8KwjWivGQDJ){n|>X$FnOMWbe2kX!YJa$V2LtL&lGl#hl z5TJjlSY=T$+=}r~Vj~881Lh5Em|&QP#@#=|t+bQ{{zw|9p!{6ir-&d7{;IhedY3yS zz*d&<)!Kd6Qa8!-9rhS8#{=nD44hoEI!XSvD1nn}FE1W%{CR%*+v=dB) zJ47ePBTcMm*5I^a3w1Ti=OO>TA^bY>G(0~tv-rQl60Bmy>sTLWhi?so#nICfnVYG+ zp(1cpd8~M-LeTv${;^wuI;&};Yt}$!*gg%~T7&a=#;qf5|2y3MG1af&=~FVGJDb>j zxJkT^yOY)UN3#j`aw4;pKV?9LDT_PlHQOU?%x^zW8{0NIH>rn7*k6B_51b#`p(9S0 z!?%fG>i=sQY@5v9TkuIXjnB~T=&GbE*6N>)t}$RL$i>YsC*1Vd8wuVgqq6{ z(zd1zkGa2?(;xl zQ{Pb=mC2b5FZ@PYey^oA6Go>HN}bEZl&ge_bw1#mLM^!A%(@7F*7qf4MPTbu#E#k| zCwgmvm!phJpBmTktw~}Zy3k-Lg&fc$QIgEJ=5mS8+P(#~I zLQVpoUYqsaC_?|d8I9l<6w!6{TGP(oA0(N0JAwjYQy9?VuHU#Shg)8eeb{f?GUqY> zT!b9>DCO0^PJRBWQIxHP305j2d{o6QHLGAUj;I76UUKcMrFWe;FI zLcc@~F#cwW{ow{9FY4(s!1G5q(!~usvKGOuQosoxj@+GN; zw-M0XSAd}`Hhm#qfDsG7cj??+RYqw-aRnn)TWc5E*Jx%ASnM>DIdG8j!_`Xz z#(s_8LdVs(fZ*Hh4^V^viKd|wZ?qB!5KSD3p7=~UK=!l*F>CRv=uE#bP9FS*A-AA{ z8pYGfdfm&v+KL^|h<3ODv3U-mkvt?5YQ~YWhLd95!4Gj+!6d$r(lSuxv1;ne88jN( zHk}oT+nz&QT0wCZxFd%k+1Tozz%(6-=Uv9UOkNYy3qD!Qv^qVcdN{t-g19v@Od?Q- z7?Lu#hF!C&h5RknhpqB8u96)Rba6#k=+?M`xD$0)tx?qmelxClaC8v(XYP*0tU{pQ z-;4}9)6$)eZM4I~D%JAg;*E~*5e;`8%gO8o#Uqsti?ZT)EE$%mX{kLA|HGFsoy7XD zG8rF=hmT11dsKV|MLB1|*n4LyT}EOt!~qo#I2Q1VITj3~Z-5P=d=@e;Jy#})B|y<} zdpV*;*p&tC;F)bPELz7!?^xj8YaZFASG-0 zD~}apO6GNzCMO5G18z6fg)M+Auv8VxXXj;U7lmL-B0jJKnyG8*Z(Ndd2za|?G`G_X zs>Jnz4P*II-hvolOXHFYg@cjlD_ME220A+X8$VBp>%?oh6CN8=k9%#6k9~%R*k3Kc zfoA8M27n%6QO_GiLrM+)rBJ{}wl9UyLJv0+F@6P3ov%B1cf9a!eYGz~Rg$D*52D(% z0|KPJx6WUwVN09C1hyDHyotmJ(5214zp{}_)C%e~U)e|_IcAg%*qwuCX9P{dZ}X`U zdGkQ#85MdWs6lv(Mp-t7o|dcmhV`XARoqf;j#tl`KJ8mCYY=Pi)!q#k zf>4-W79Wm5h@VzRBwJ+k3HQA2kf4gr5ozob2Q;7JMK@Qs*aK45lprW$*CgJ*R)`tC zhJ%uLXfi9l3O(f64Vi{IFYw``F^Ps7pKFSa1)T-fcuSxAT!5w)=Ud4$94}&K|6f_m zFTCi`rwN*P;7gTR6C$amf35M*>4jI2FvVfInVs5&o8mvDc*Y*{=GPPp^%%yZF3)lq z3a1YT&nbLoNC5EmzH|56*YC+}@IQVK3s^~m;%E+8o1RG&Avbz44O0Kj@&=cO$j=w% zmu1BY@My5|4ONQhY;6mf_jk3Ep+mWwXc|}ZKe4WMrM^HQA)NaoxOBc<)P3xk4r&1j z^;1#f%=piQ_I6;9_z<zfSlsk)-^ z=&d0uySc*`rQSS!PK)2aH?15`5*$xQ3SIJQLlyLeOJU9}q@6@e!&s#MvEdW!$nMa8lf4Ew6h(cl8ss5uFE zU0n^ti~#7EW6mTkgFY0;oEfoaeu`Qn{rvXKFyvhlFv3scRpjf8touFck*{62iudtu zos-~tGdks5A_JamRfa$Vg`>AqX?ETl8yKn~y{z+;0%$NqN}Orewr@|bOm4f9GhI>l z;1^rw1B`iWQ0Y9#oc!9X9;Rf+PI`8~`}5?fE=I4v3n+4zSaCObq3ii@xP$}8lI^n# zu-;9@Fw>?g-ZJsRB)E;mLUn`wd_)3Pp#{+RS3kD70juwA`|$H3F|xH!AXX&M?(_M1 zET`KJ$@C*^_?wj!@7&nupOzq+J}P7DT4EbNtRY z8iRmToPLwpA?}sUU%}1^^;th~$7q;z&^?rklu?1U zy~$G~;5E=ck?eS$VcC6m^|pTXdhH*_6n038ky?abCDFxvWdT#kZ?5krNGK%gj} zvG-03B++BhrevxG`*9z2YNQZ<@t*h=HgjtEyiiIf0z*3TW}T*TzgBuN5i|RCz3PUA zAkQr{^1@c$P3E2mXG4CSh7BV~aJ>PV+r)9fv*&ZlwvT*&7&d8#-N&j-uG1*8Bs`Cw zu>U33!q!kgjWVp5sy(qu9TW@uaVh+pV-l<4mAAObhca94u@uS)MpEl2f)hL zHNYzcCEq9jU0cBPY=|S+ztZzBc;JyXn_PDVlLAbfU6SyT%9k(gKL)h)Z8*7j>`FCi zM91I%=eFv!Idg2k)D$e+H?Vea{?`>5@9TM5etXbo9-1cc7@7kqd3s}Q(vN@ze3sqP z{>8zt9qs9o@hsF}UL<`(;?OF+>$ zNa+*C5vArmndT7xEs1gSFdKA6nRFaKoG)C~O%HMOo&@hT8)?q-Mi>BDjU9>qeVpk{Tr-vMKZUc#I<~Vf*^Pe2j>|8m9sDrdL^=Ao5@I`nwNg zkTcT>q`<+~Z3yZ;C1asnUXa103Hi|UDaQp^!;|>M@2(seo4#y-0j>`eLdqn4SsKbO zYB=gYdHVFB;Jr+BkAijw$UoKpKXM*KiS0To!%l1N{tWf%7T8mDarh@qgd>EQoqe7f!)vr>=uV39H`UC~4Bx&S7Vh6KQL#Te@q`F#qh+wj*Y}NVXF1 z$>kK;&U%;dQ2ub3+`tcvek&LJ6D%DZFUPUf??#~-4E@$yuc2~M34g+(;YGp`{-CRLsrLP3-e^SflXRe-@% zSjFPSVJkm%riEneu6AhDcJh^wKlcG}H`x3!M6W1H4 zjJul5fPY)inA|;l!VRXi;A||ft93MDwR(PjCWxuY-Ij}Hj5`B=CATg}X-wL0WL!^n zuEywZv&o%RyZ>xCjd$)kJYQYB*=l%gZcV`J;Yzbold`2cl#Hc)}+Q>50lKzwozmPPu}N+ zJoy=zbZJfD4OpS{-x$AURb7(O`hZf$hwGJ1dd8#qKIf5wLjO7l1K|fW3Q5i5p!BB9 zX1MX4&-Y)UE0l4ID{4w};m2QeX@nV-{tPj-J5?O5zASkI+p9;u8%|i% zWid$kWY7Z5DtG6r`(TLux*3?Lzi2%go#_@WwmxKCX+u7-Hgq(WKdvKO(UHC%cJ zb^MS3j0E~LJP8wH3RdqS0DAR0+Q?X7UR(A@Xdi1%?$GRDmiUDp^q6+-DGyB~f$_f< z5yn0EM@WwEj$(?e9WVIC_l%qsvZv2)ad4}EB5lqAGV@zNR%AX82cGi^nDG`eRnoi|4HvGZlfO>Qv20bY^|la^PC0JsH~u}#lm3YeMJWK z+CvI{n*K8G^-_`J&v=pl-0K}$UKiaDCuZkI2JNvy+_!^)i+*aX4FJ0fl^f6l`<`k2 zYH-jXr}pu^=1Reom|>uMU4eLey6@x84Hq0oT=>znU<$#Kl-E;swQfCfZg?e`2f?;Z zrwuQpHrmRjj41A@G+TxZ=dyd1@)9H&g=K8iSC+`H6N(khNEHAO%Fu)H_dg2xux^$Q z#TI)hKE%A{((yuPem)6aatvKj6FGLa{(UtA#C2;NBaOu703(WQLCR?CNvT?Oz}{Nl7twI^7k(H=pi$mF`(x` zIJ15yW&G7KZ%xu#Mw9Yr=4>iMj+KRS-e{lrGXn4)HAM!vlShFy&8;I=F@t!e*v5>@ z_JZ7#`*PEZyw`PvkCQ}HUnKC$IEeWzStb>y)@h&8R@f6i`HD9sL_-7bl2awUT;6Xp z2|d)YZxagstg7eB2Ef^z?L5Jug?mPDJ1ENjauaLbPJdjrg^d7cd z@m<_6L%-Y&{_OoG=G=IavL3?Uad3v$u1{ONq;d<;1#gzQNIcn%uH;7&HY?N|7;XEt zQN8_)_UEm^iJ#~oAyTMqFv^%UXI3{n&X-^#45_tA8Vd#dQujSQVGm?cwS#ci*-D>0 z5NOkIiO>*wJm4dMu#3-@p@(SuAuGp#_i1?Lf2rng_ve^Im6UtR+e`GE+#?FMrV^s% zAnIX_!E*|r=}M$c3H_;q;!^N7YC=216KUtjwDTtrK7vmBVi#M48kJv0-p@h*3AIwIeR=@wavk=AWnJTP~?ZziXLE z<>D2s?m~&)PZt4j z4*W{~(ACF2?YCN&|4q@Aw&D^x0+wB8rT{8E)FO2}TROmobM055XCp`19#z?&k;}<* z_d@YJ?bJ_hM`U2MpN7$^Di3T0yc6-lYm3(IXF$$#-kj;KZmVj}u4r3-5?^?hvzV)~ zbg;S+^yywy*%c={O`I*N`%QI!0^{YMMXGIXhVQ!3VHuIy3E~#`P|2Lu+0>{dRZh9u4N{P;Bkd* z1F@`Bwi98HD&;pd`g1z47AU*0G}&d1W$V({5RZKSi_Ml_y5y~w_k1#v6YxZ6AKzkT_w<(DPf5koX#byin)RvA4mo8OLp%VgFN6W>VpOn*o`dLDS%GhA zd^>2yF3REBXIJJta=pHjwAcLRe`Y7PWqJPm`worK9*5P+@s!dV8ucb6Dc2B3Lm{F2 zV`)o2CE1IO3RPGFD%RwHMy`Yr~6^A&|dk_iHxm# zEjh7sBwiH{eK?mKiv!7a zN$U$RFd@7n`BKn^l4PFFyP@y)Z8?)$;NxNW<;pFAM>=4-RofK`Pv@P`<^5|k6`@Q1 zRlCXE=kikNQ7j?rX4^rzLEk^?(Ry+*-iWlFqP1$PU7{;QWLRP6M2NxouZ8Y^!|2~T zIVU#dm$r*ck7fxla71$Bv1D91_S1Pzs-m6L!VlGyod@2n7FU~rQh1dz+lp&kB%LDu zQ;?f|U^*F$J^iT+arM2+D(llfbL`aP6{p~!ybsguU*ZQTi!FeB<*M}m&!xkwmHGm2 zIrRf)rT8z=UtglX%iRf&2B%W;{!N$RamGUq)dxTy{P2bU%^Z4$-UMjpK_mCTNj}MF zq43wSg1>IT`_(%aq3Cy;+GgKWo7L!I-B$0lDDXC0N))TxS78wRy-5y=_}ilQg0sAh zA8%GCyWcCN`kjKLN7QH5sMA)1JsM}VBAoX0-6JaL@-PTuxe*>+)UOOG|1{{Q0##{! zGq*tV*X+n*$^`WKF0dz*ErBK5-R7^<=sPp2U|}XvoSVYSrLV71c?9iu(q4XQq}jq( z`~JOj1j(0ujwY_#Z@v5mNE{wjuKs-ngfrSqD$a=he7AQ^vt?$!C-Ep%X|cQACmvJg z{IB9?7T(zH$4FQ5WJMQ4?_(Umrm}6NO6l)PFy*psq8;X|$X5Rkkbj=W?4A(^)2D5P5>O(t z2l7u~LVLh}^m&Rtk=YCA~Djl~

vMNM`n|uktoykw0qELU#)h1*3|}`SYd6aKC$`>& z-^B*my!2#V8}iPB>Lsa0TJex%hZu$R86s=^R<8KcIapak#%7L z@zKIK%8`?MKp}iM0^9t^B6ALNKq(dHLC@|qvr?>yQfS%nHQg;fh(rs$@h+>_lc6DF zg0q?7KVE+38?b^*{~`U_fYUN|=mP~1 zd-Bgn01Tsv2d1I0Zk!Y9rxF=s^7Sn4Ve7Xr@9%D2pk$Lha_y8g#<>q3=*a#AkAV!)w={s?zOx zAv`)K4*HHZ4Ur@uWEQGlQBum066Ix)-r~h*5FGIARfAVqKge7XFVuQ~Nqu=cm6})U zWRj|H09|#pXwde3RrC6lb-H3IwN@ zr-W)ec5)kOHoXR$fW73522-9R?4D-E(&U1;dh_SU zlP)wH6bGQ*2HdTGuE2a@(YzETk*;P+8`Mwv6r^DPF5-J>ZgUGa%e%wy0B-7aH6F&B zzG0cmKh1r@AheKTkEI%@?BK~bFafiTm20a&WLbs~rf4xuZ|%mkDOa(szuvI+nne7_ zY}{~kT9>!q)m=6ff+eYi^^Fr`-OwWa(2D~+4fO}Q85qw8QvdMi8oC$q$cf0O1k|t| z;somkLRotYUmcA-?>Xy;`Wa!65#Z-ATA@~-sn#sahvj)(JlKX|k(k!JI{haTqis2L zAp5byS<_ zriVS7z?~wmA~R`nJ7L<+Ue1_bYU!B8)UbDAYHCb$v_!&4Dj`VBGyIRXfePA}D zTFs0)5OFY`ZL5hK?xN34u;mx0@L|T4qj7&@W;Bx9nut^r}%$ zdEH%HF`(T#oE?n}5PK-Z17LOi%#KUO5uq{vG@X&W26Qio^Ip(#1>`9w9smHKKKtkX h44(m4`@bb14e;0w=(Ws!6#HM3s*{{iTaW6J;l literal 0 HcmV?d00001 diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js index 80d1b632..8e6e484d 100644 --- a/src/main/webapp/js/app.min.js +++ b/src/main/webapp/js/app.min.js @@ -398,8 +398,8 @@ mxXmlCanvas2D.prototype.text=function(a,b,c,d,e,f,g,k,l,m,n,p,q){if(this.textEna m);null!=n&&r.setAttribute("clip",n?"1":"0");null!=p&&r.setAttribute("rotation",p);null!=q&&r.setAttribute("dir",q);this.root.appendChild(r)}};mxXmlCanvas2D.prototype.stroke=function(){this.root.appendChild(this.createElement("stroke"))};mxXmlCanvas2D.prototype.fill=function(){this.root.appendChild(this.createElement("fill"))};mxXmlCanvas2D.prototype.fillAndStroke=function(){this.root.appendChild(this.createElement("fillstroke"))}; function mxSvgCanvas2D(a,b){mxAbstractCanvas2D.call(this);this.root=a;this.gradients=[];this.defs=null;this.styleEnabled=null!=b?b:!1;var c=null;if(a.ownerDocument!=document)for(c=a;null!=c&&"svg"!=c.nodeName;)c=c.parentNode;null!=c&&(0a.alpha||1>a.fillAlpha)&&this.node.setAttribute("fill-opacity",a.alpha*a.fillAlpha);if(null!=a.fillColor)if(null!=a.gradientColor)if(a=this.getSvgGradient(a.fillColor,a.gradientColor,a.gradientFillAlpha,a.gradientAlpha,a.gradientDirection),mxClient.IS_CHROME_APP||mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE||this.root.ownerDocument!=document)this.node.setAttribute("fill","url(#"+a+")");else{var b=this.getBaseUrl().replace(/([\(\)])/g, -"\\$1");this.node.setAttribute("fill","url("+b+"#"+a+")")}else this.node.setAttribute("fill",a.fillColor.toLowerCase())};mxSvgCanvas2D.prototype.getCurrentStrokeWidth=function(){return Math.max(1,this.format(this.state.strokeWidth*this.state.scale))}; +"\\$1");this.node.setAttribute("fill","url("+b+"#"+a+")")}else this.node.setAttribute("fill",a.fillColor.toLowerCase())};mxSvgCanvas2D.prototype.getCurrentStrokeWidth=function(){return Math.max(this.minStrokeWidth,this.format(this.state.strokeWidth*this.state.scale))}; mxSvgCanvas2D.prototype.updateStroke=function(){var a=this.state;this.node.setAttribute("stroke",a.strokeColor.toLowerCase());(1>a.alpha||1>a.strokeAlpha)&&this.node.setAttribute("stroke-opacity",a.alpha*a.strokeAlpha);var b=this.getCurrentStrokeWidth();1!=b&&this.node.setAttribute("stroke-width",b);"path"==this.node.nodeName&&this.updateStrokeAttributes();a.dashed&&this.node.setAttribute("stroke-dasharray",this.createDashPattern((a.fixDash?1:a.strokeWidth)*a.scale))}; mxSvgCanvas2D.prototype.updateStrokeAttributes=function(){var a=this.state;null!=a.lineJoin&&"miter"!=a.lineJoin&&this.node.setAttribute("stroke-linejoin",a.lineJoin);if(null!=a.lineCap){var b=a.lineCap;"flat"==b&&(b="butt");"butt"!=b&&this.node.setAttribute("stroke-linecap",b)}null==a.miterLimit||this.styleEnabled&&10==a.miterLimit||this.node.setAttribute("stroke-miterlimit",a.miterLimit)}; mxSvgCanvas2D.prototype.createDashPattern=function(a){var b=[];if("string"===typeof this.state.dashPattern){var c=this.state.dashPattern.split(" ");if(0this.opacity&&(b+="alpha(opacity="+this.opacity+")");this.isShadow&&(b+="progid:DXImageTransform.Microsoft.dropShadow (OffX='"+Math.round(mxConstants.SHADOW_OFFSET_X*this.scale)+"', OffY='"+Math.round(mxConstants.SHADOW_OFFSET_Y*this.scale)+"', Color='"+mxConstants.VML_SHADOWCOLOR+"')");if(null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE){var c=this.fill,d=this.gradient,e="0",f={east:0,south:1, @@ -1012,10 +1012,10 @@ k==mxConstants.ALIGN_CENTER&&l==mxConstants.ALIGN_MIDDLE?a.shape.getLabelBounds( c.height=Math.max(d,a.text.boundingBox.height)):(c.width=Math.max(c.width,a.text.boundingBox.width),c.height=Math.max(c.height,a.text.boundingBox.height)));this.graph.getModel().isVertex(a.cell)&&(b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER),b==mxConstants.ALIGN_LEFT?c.x-=a.width:b==mxConstants.ALIGN_RIGHT&&(c.x+=a.width),b=mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE),b==mxConstants.ALIGN_TOP?c.y-=a.height:b== mxConstants.ALIGN_BOTTOM&&(c.y+=a.height))}return new mxRectangle(Math.round(c.x),Math.round(c.y),Math.round(c.width),Math.round(c.height))};mxCellEditor.prototype.getEmptyLabelText=function(a){return this.emptyLabelText};mxCellEditor.prototype.getEditingCell=function(){return this.editingCell}; mxCellEditor.prototype.destroy=function(){null!=this.textarea&&(mxEvent.release(this.textarea),null!=this.textarea.parentNode&&this.textarea.parentNode.removeChild(this.textarea),this.textarea=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);this.zoomHandler&&(this.graph.view.removeListener(this.zoomHandler),this.zoomHandler=null)};function mxCellRenderer(){}mxCellRenderer.defaultShapes={}; -mxCellRenderer.prototype.defaultEdgeShape=mxConnector;mxCellRenderer.prototype.defaultVertexShape=mxRectangleShape;mxCellRenderer.prototype.defaultTextShape=mxText;mxCellRenderer.prototype.legacyControlPosition=!0;mxCellRenderer.prototype.legacySpacing=!0;mxCellRenderer.prototype.antiAlias=!0;mxCellRenderer.prototype.forceControlClickHandler=!1;mxCellRenderer.registerShape=function(a,b){mxCellRenderer.defaultShapes[a]=b};mxCellRenderer.registerShape(mxConstants.SHAPE_RECTANGLE,mxRectangleShape); -mxCellRenderer.registerShape(mxConstants.SHAPE_ELLIPSE,mxEllipse);mxCellRenderer.registerShape(mxConstants.SHAPE_RHOMBUS,mxRhombus);mxCellRenderer.registerShape(mxConstants.SHAPE_CYLINDER,mxCylinder);mxCellRenderer.registerShape(mxConstants.SHAPE_CONNECTOR,mxConnector);mxCellRenderer.registerShape(mxConstants.SHAPE_ACTOR,mxActor);mxCellRenderer.registerShape(mxConstants.SHAPE_TRIANGLE,mxTriangle);mxCellRenderer.registerShape(mxConstants.SHAPE_HEXAGON,mxHexagon); -mxCellRenderer.registerShape(mxConstants.SHAPE_CLOUD,mxCloud);mxCellRenderer.registerShape(mxConstants.SHAPE_LINE,mxLine);mxCellRenderer.registerShape(mxConstants.SHAPE_ARROW,mxArrow);mxCellRenderer.registerShape(mxConstants.SHAPE_ARROW_CONNECTOR,mxArrowConnector);mxCellRenderer.registerShape(mxConstants.SHAPE_DOUBLE_ELLIPSE,mxDoubleEllipse);mxCellRenderer.registerShape(mxConstants.SHAPE_SWIMLANE,mxSwimlane);mxCellRenderer.registerShape(mxConstants.SHAPE_IMAGE,mxImageShape); -mxCellRenderer.registerShape(mxConstants.SHAPE_LABEL,mxLabel);mxCellRenderer.prototype.initializeShape=function(a){a.shape.dialect=a.view.graph.dialect;this.configureShape(a);a.shape.init(a.view.getDrawPane())};mxCellRenderer.prototype.createShape=function(a){var b=null;null!=a.style&&(b=mxStencilRegistry.getStencil(a.style[mxConstants.STYLE_SHAPE]),b=null!=b?new mxShape(b):new (this.getShapeConstructor(a)));return b}; +mxCellRenderer.prototype.defaultEdgeShape=mxConnector;mxCellRenderer.prototype.defaultVertexShape=mxRectangleShape;mxCellRenderer.prototype.defaultTextShape=mxText;mxCellRenderer.prototype.legacyControlPosition=!0;mxCellRenderer.prototype.legacySpacing=!0;mxCellRenderer.prototype.antiAlias=!0;mxCellRenderer.prototype.minSvgStrokeWidth=1;mxCellRenderer.prototype.forceControlClickHandler=!1;mxCellRenderer.registerShape=function(a,b){mxCellRenderer.defaultShapes[a]=b}; +mxCellRenderer.registerShape(mxConstants.SHAPE_RECTANGLE,mxRectangleShape);mxCellRenderer.registerShape(mxConstants.SHAPE_ELLIPSE,mxEllipse);mxCellRenderer.registerShape(mxConstants.SHAPE_RHOMBUS,mxRhombus);mxCellRenderer.registerShape(mxConstants.SHAPE_CYLINDER,mxCylinder);mxCellRenderer.registerShape(mxConstants.SHAPE_CONNECTOR,mxConnector);mxCellRenderer.registerShape(mxConstants.SHAPE_ACTOR,mxActor);mxCellRenderer.registerShape(mxConstants.SHAPE_TRIANGLE,mxTriangle); +mxCellRenderer.registerShape(mxConstants.SHAPE_HEXAGON,mxHexagon);mxCellRenderer.registerShape(mxConstants.SHAPE_CLOUD,mxCloud);mxCellRenderer.registerShape(mxConstants.SHAPE_LINE,mxLine);mxCellRenderer.registerShape(mxConstants.SHAPE_ARROW,mxArrow);mxCellRenderer.registerShape(mxConstants.SHAPE_ARROW_CONNECTOR,mxArrowConnector);mxCellRenderer.registerShape(mxConstants.SHAPE_DOUBLE_ELLIPSE,mxDoubleEllipse);mxCellRenderer.registerShape(mxConstants.SHAPE_SWIMLANE,mxSwimlane); +mxCellRenderer.registerShape(mxConstants.SHAPE_IMAGE,mxImageShape);mxCellRenderer.registerShape(mxConstants.SHAPE_LABEL,mxLabel);mxCellRenderer.prototype.initializeShape=function(a){a.shape.dialect=a.view.graph.dialect;this.configureShape(a);a.shape.init(a.view.getDrawPane())};mxCellRenderer.prototype.createShape=function(a){var b=null;null!=a.style&&(b=mxStencilRegistry.getStencil(a.style[mxConstants.STYLE_SHAPE]),b=null!=b?new mxShape(b):new (this.getShapeConstructor(a)));return b}; mxCellRenderer.prototype.createIndicatorShape=function(a){a.shape.indicatorShape=this.getShape(a.view.graph.getIndicatorShape(a))};mxCellRenderer.prototype.getShape=function(a){return null!=a?mxCellRenderer.defaultShapes[a]:null};mxCellRenderer.prototype.getShapeConstructor=function(a){var b=this.getShape(a.style[mxConstants.STYLE_SHAPE]);null==b&&(b=a.view.graph.getModel().isEdge(a.cell)?this.defaultEdgeShape:this.defaultVertexShape);return b}; mxCellRenderer.prototype.configureShape=function(a){a.shape.apply(a);a.shape.image=a.view.graph.getImage(a);a.shape.indicatorColor=a.view.graph.getIndicatorColor(a);a.shape.indicatorStrokeColor=a.style[mxConstants.STYLE_INDICATOR_STROKECOLOR];a.shape.indicatorGradientColor=a.view.graph.getIndicatorGradientColor(a);a.shape.indicatorDirection=a.style[mxConstants.STYLE_INDICATOR_DIRECTION];a.shape.indicatorImage=a.view.graph.getIndicatorImage(a);this.postConfigureShape(a)}; mxCellRenderer.prototype.postConfigureShape=function(a){null!=a.shape&&(this.resolveColor(a,"indicatorColor",mxConstants.STYLE_FILLCOLOR),this.resolveColor(a,"indicatorGradientColor",mxConstants.STYLE_GRADIENTCOLOR),this.resolveColor(a,"fill",mxConstants.STYLE_FILLCOLOR),this.resolveColor(a,"stroke",mxConstants.STYLE_STROKECOLOR),this.resolveColor(a,"gradient",mxConstants.STYLE_GRADIENTCOLOR))}; @@ -1057,9 +1057,9 @@ f),g,k,new mxPoint(a.getCenterX(),a.getCenterY())),e=f.x,f=f.y)}return a.view.gr mxCellRenderer.prototype.insertStateAfter=function(a,b,c){for(var d=this.getShapesForState(a),e=0;e=l.x:null!=c&&(k=c.x+c.width=a.x:null!=b&&(l=b.x+b.widththis.minPageBreakDist)?Math.ceil(d.height/f.height)+1:0,k=a?Math.ceil(d.width/f.width)+1:0,l=(k-1)*f.width,m=(g-1)*f.height;null==this.horizontalPageBreaks&&0c.x&&(f-=c.x);0>c.y&&(g-=c.y);if(b.translate.x!=f||b.translate.y!= -g)b.translate.x=f,b.translate.y=g,a=!0;var c=b.translate,d=this.source.getView().scale,f=d/b.scale,g=1/b.scale,k=this.source.container;this.bounds=new mxRectangle((c.x-e.x-this.source.panDx)/g,(c.y-e.y-this.source.panDy)/g,k.clientWidth/f,k.clientHeight/f);this.bounds.x+=this.source.container.scrollLeft*b.scale/d;this.bounds.y+=this.source.container.scrollTop*b.scale/d;c=this.selectionBorder.bounds;if(c.x!=this.bounds.x||c.y!=this.bounds.y||c.width!=this.bounds.width||c.height!=this.bounds.height)this.selectionBorder.bounds= -this.bounds,this.selectionBorder.redraw();c=this.sizer.bounds;b=new mxRectangle(this.bounds.x+this.bounds.width-c.width/2,this.bounds.y+this.bounds.height-c.height/2,c.width,c.height);if(c.x!=b.x||c.y!=b.y||c.width!=b.width||c.height!=b.height)this.sizer.bounds=b,"hidden"!=this.sizer.node.style.visibility&&this.sizer.redraw();a&&this.outline.view.revalidate()}}}; +mxOutline.prototype.update=function(a){if(null!=this.source&&null!=this.source.container&&null!=this.outline&&null!=this.outline.container){var b=this.source.view.scale,c=this.getSourceGraphBounds(),c=new mxRectangle(c.x/b+this.source.panDx,c.y/b+this.source.panDy,c.width/b,c.height/b),d=new mxRectangle(0,0,this.source.container.clientWidth/b,this.source.container.clientHeight/b),e=c.clone();e.add(d);d=this.getSourceContainerSize();b=Math.min(Math.max(0,this.outline.container.clientWidth-this.border)/ +Math.max(d.width/b,e.width),Math.max(0,this.outline.container.clientHeight-this.border)/Math.max(d.height/b,e.height));d=isNaN(b)?this.minScale:Math.max(this.minScale,b);if(0c.x&&(f-=c.x);0>c.y&&(g-=c.y);if(b.translate.x!=f||b.translate.y!=g)b.translate.x=f,b.translate.y=g,a=!0;var c=b.translate,d=this.source.getView().scale,f=d/b.scale,g=1/b.scale,k=this.source.container;this.bounds=new mxRectangle((c.x-e.x-this.source.panDx)/g,(c.y-e.y-this.source.panDy)/g,k.clientWidth/f,k.clientHeight/f);this.bounds.x+=this.source.container.scrollLeft*b.scale/d;this.bounds.y+=this.source.container.scrollTop*b.scale/d;c=this.selectionBorder.bounds;if(c.x!=this.bounds.x|| +c.y!=this.bounds.y||c.width!=this.bounds.width||c.height!=this.bounds.height)this.selectionBorder.bounds=this.bounds,this.selectionBorder.redraw();c=this.sizer.bounds;b=new mxRectangle(this.bounds.x+this.bounds.width-c.width/2,this.bounds.y+this.bounds.height-c.height/2,c.width,c.height);if(c.x!=b.x||c.y!=b.y||c.width!=b.width||c.height!=b.height)this.sizer.bounds=b,"hidden"!=this.sizer.node.style.visibility&&this.sizer.redraw();a&&this.outline.view.revalidate()}}}; mxOutline.prototype.mouseDown=function(a,b){if(this.enabled&&this.showViewport){var c=mxEvent.isMouseEvent(b.getEvent())?0:this.source.tolerance,c=this.source.allowHandleBoundsCheck&&(mxClient.IS_IE||0document.documentMode)&&(h=80);d+=h;b+=h;var l=d,m=b,p=Math.max(document.body.clientHeight,document.documentElement.clientHeight),n=Math.max(1,Math.round((document.body.clientWidth-d-64)/2)),q=Math.max(1,Math.round((p-b-a.footerHeight)/3));mxClient.IS_QUIRKS||(c.style.maxHeight="100%");d=Math.min(d,document.body.scrollWidth-64);b=Math.min(b,p-64);0document.documentMode)&&(k=80);d+=k;b+=k;var l=d,m=b,p=Math.max(document.body.clientHeight,document.documentElement.clientHeight),n=Math.max(1,Math.round((document.body.clientWidth-d-64)/2)),q=Math.max(1,Math.round((p-b-a.footerHeight)/3));mxClient.IS_QUIRKS||(c.style.maxHeight="100%");d=Math.min(d,document.body.scrollWidth-64);b=Math.min(b,p-64);0r.clientHeight-64&&(c.style.overflowY="auto");e&&(e=document.createElement("img"),e.setAttribute("src",Dialog.prototype.closeImage),e.setAttribute("title",mxResources.get("close")),e.className="geDialogClose",e.style.top=q+14+"px",e.style.left=n+d+38-h+"px",e.style.zIndex=this.zIndex,mxEvent.addListener(e,"click", +d,b);n=f.x;q=f.y;r.style.width=d+"px";r.style.height=b+"px";r.style.left=n+"px";r.style.top=q+"px";r.style.zIndex=this.zIndex;r.appendChild(c);document.body.appendChild(r);!g&&c.clientHeight>r.clientHeight-64&&(c.style.overflowY="auto");e&&(e=document.createElement("img"),e.setAttribute("src",Dialog.prototype.closeImage),e.setAttribute("title",mxResources.get("close")),e.className="geDialogClose",e.style.top=q+14+"px",e.style.left=n+d+38-k+"px",e.style.zIndex=this.zIndex,mxEvent.addListener(e,"click", mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(e),this.dialogImg=e,mxEvent.addGestureListeners(this.bg,null,null,mxUtils.bind(this,function(b){a.hideDialog(!0)})));this.resizeListener=mxUtils.bind(this,function(){p=Math.max(document.body.clientHeight,document.documentElement.clientHeight);this.bg.style.height=p+"px";n=Math.max(1,Math.round((document.body.clientWidth-d-64)/2));q=Math.max(1,Math.round((p-b-a.footerHeight)/3));d=Math.min(l,document.body.scrollWidth-64);b= -Math.min(m,p-64);var e=this.getPosition(n,q,d,b);n=e.x;q=e.y;r.style.left=n+"px";r.style.top=q+"px";r.style.width=d+"px";r.style.height=b+"px";!g&&c.clientHeight>r.clientHeight-64&&(c.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=q+14+"px",this.dialogImg.style.left=n+d+38-h+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=k;this.container=r;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white"; +Math.min(m,p-64);var e=this.getPosition(n,q,d,b);n=e.x;q=e.y;r.style.left=n+"px";r.style.top=q+"px";r.style.width=d+"px";r.style.height=b+"px";!g&&c.clientHeight>r.clientHeight-64&&(c.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=q+14+"px",this.dialogImg.style.left=n+d+38-k+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=h;this.container=r;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white"; Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-1; Dialog.prototype.noColorImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzRDlBMUUwODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzRDlBMUUxODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNEOUExREU4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNEOUExREY4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xh3fmAAAABlBMVEX////MzMw46qqDAAAAGElEQVR42mJggAJGKGAYIIGBth8KAAIMAEUQAIElnLuQAAAAAElFTkSuQmCC":IMAGE_PATH+ "/nocolor.png";Dialog.prototype.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAABlBMVEV7mr3///+wksspAAAAAnRSTlP/AOW3MEoAAAAdSURBVAgdY9jXwCDDwNDRwHCwgeExmASygSL7GgB12QiqNHZZIwAAAABJRU5ErkJggg==":IMAGE_PATH+"/close.png"; @@ -1997,29 +1997,29 @@ Dialog.prototype.lockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoA Dialog.prototype.unlockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzdDMDZCN0QxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzdDMDZCN0UxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozN0MwNkI3QjE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozN0MwNkI3QzE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkKMpVwAAAAYUExURZmZmbKysr+/v6ysrOXl5czMzLGxsf///zHN5lwAAAAIdFJOU/////////8A3oO9WQAAADxJREFUeNpUzFESACAEBNBVsfe/cZJU+8Mzs8CIABCidtfGOndnYsT40HDSiCcbPdoJo10o9aI677cpwACRoAF3dFNlswAAAABJRU5ErkJggg==":IMAGE_PATH+ "/unlocked.png";Dialog.prototype.bgOpacity=80;Dialog.prototype.getPosition=function(a,c){return new mxPoint(a,c)};Dialog.prototype.close=function(a){null!=this.onDialogClose&&(this.onDialogClose(a),this.onDialogClose=null);null!=this.dialogImg&&(this.dialogImg.parentNode.removeChild(this.dialogImg),this.dialogImg=null);null!=this.bg&&null!=this.bg.parentNode&&this.bg.parentNode.removeChild(this.bg);mxEvent.removeListener(window,"resize",this.resizeListener);this.container.parentNode.removeChild(this.container)}; var PrintDialog=function(a,c){this.create(a,c)}; -PrintDialog.prototype.create=function(a){function c(a){var b=g.checked||l.checked,c=parseInt(p.value)/100;isNaN(c)&&(c=1,p.value="100%");var c=.75*c,e=d.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,f=1/d.pageScale;if(b){var k=g.checked?1:parseInt(m.value);isNaN(k)||(f=mxUtils.getScaleForPageCount(k,d,e))}d.getGraphBounds();var h=k=0,e=mxRectangle.fromRectangle(e);e.width=Math.ceil(e.width*c);e.height=Math.ceil(e.height*c);f*=c;!b&&d.pageVisible?(c=d.getPageLayout(),k-=c.x*e.width,h-=c.y*e.height): -b=!0;b=PrintDialog.createPrintPreview(d,f,e,0,k,h,b);b.open();a&&PrintDialog.printPreview(b)}var d=a.editor.graph,b,f,e=document.createElement("table");e.style.width="100%";e.style.height="100%";var k=document.createElement("tbody");b=document.createElement("tr");var g=document.createElement("input");g.setAttribute("type","checkbox");f=document.createElement("td");f.setAttribute("colspan","2");f.style.fontSize="10pt";f.appendChild(g);var h=document.createElement("span");mxUtils.write(h," "+mxResources.get("fitPage")); -f.appendChild(h);mxEvent.addListener(h,"click",function(a){g.checked=!g.checked;l.checked=!g.checked;mxEvent.consume(a)});mxEvent.addListener(g,"change",function(){l.checked=!g.checked});b.appendChild(f);k.appendChild(b);b=b.cloneNode(!1);var l=document.createElement("input");l.setAttribute("type","checkbox");f=document.createElement("td");f.style.fontSize="10pt";f.appendChild(l);h=document.createElement("span");mxUtils.write(h," "+mxResources.get("posterPrint")+":");f.appendChild(h);mxEvent.addListener(h, -"click",function(a){l.checked=!l.checked;g.checked=!l.checked;mxEvent.consume(a)});b.appendChild(f);var m=document.createElement("input");m.setAttribute("value","1");m.setAttribute("type","number");m.setAttribute("min","1");m.setAttribute("size","4");m.setAttribute("disabled","disabled");m.style.width="50px";f=document.createElement("td");f.style.fontSize="10pt";f.appendChild(m);mxUtils.write(f," "+mxResources.get("pages")+" (max)");b.appendChild(f);k.appendChild(b);mxEvent.addListener(l,"change", -function(){l.checked?m.removeAttribute("disabled"):m.setAttribute("disabled","disabled");g.checked=!l.checked});b=b.cloneNode(!1);f=document.createElement("td");mxUtils.write(f,mxResources.get("pageScale")+":");b.appendChild(f);f=document.createElement("td");var p=document.createElement("input");p.setAttribute("value","100 %");p.setAttribute("size","5");p.style.width="50px";f.appendChild(p);b.appendChild(f);k.appendChild(b);b=document.createElement("tr");f=document.createElement("td");f.colSpan=2; -f.style.paddingTop="20px";f.setAttribute("align","right");h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&f.appendChild(h);if(PrintDialog.previewEnabled){var n=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)});n.className="geBtn";f.appendChild(n)}n=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();c(!0)});n.className="geBtn gePrimaryBtn";f.appendChild(n);a.editor.cancelFirst|| -f.appendChild(h);b.appendChild(f);k.appendChild(b);e.appendChild(k);this.container=e};PrintDialog.printPreview=function(a){if(null!=a.wnd){var c=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(c,500):c()}}; -PrintDialog.createPrintPreview=function(a,c,d,b,f,e,k){c=new mxPrintPreview(a,c,d,b,f,e);c.title=mxResources.get("preview");c.printBackgroundImage=!0;c.autoOrigin=k;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";c.backgroundColor=a;var g=c.writeHead;c.writeHead=function(a){g.apply(this,arguments);a.writeln('")};return c}; +PrintDialog.prototype.create=function(a){function c(a){var b=g.checked||l.checked,c=parseInt(p.value)/100;isNaN(c)&&(c=1,p.value="100%");var c=.75*c,e=d.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,f=1/d.pageScale;if(b){var h=g.checked?1:parseInt(m.value);isNaN(h)||(f=mxUtils.getScaleForPageCount(h,d,e))}d.getGraphBounds();var k=h=0,e=mxRectangle.fromRectangle(e);e.width=Math.ceil(e.width*c);e.height=Math.ceil(e.height*c);f*=c;!b&&d.pageVisible?(c=d.getPageLayout(),h-=c.x*e.width,k-=c.y*e.height): +b=!0;b=PrintDialog.createPrintPreview(d,f,e,0,h,k,b);b.open();a&&PrintDialog.printPreview(b)}var d=a.editor.graph,b,f,e=document.createElement("table");e.style.width="100%";e.style.height="100%";var h=document.createElement("tbody");b=document.createElement("tr");var g=document.createElement("input");g.setAttribute("type","checkbox");f=document.createElement("td");f.setAttribute("colspan","2");f.style.fontSize="10pt";f.appendChild(g);var k=document.createElement("span");mxUtils.write(k," "+mxResources.get("fitPage")); +f.appendChild(k);mxEvent.addListener(k,"click",function(a){g.checked=!g.checked;l.checked=!g.checked;mxEvent.consume(a)});mxEvent.addListener(g,"change",function(){l.checked=!g.checked});b.appendChild(f);h.appendChild(b);b=b.cloneNode(!1);var l=document.createElement("input");l.setAttribute("type","checkbox");f=document.createElement("td");f.style.fontSize="10pt";f.appendChild(l);k=document.createElement("span");mxUtils.write(k," "+mxResources.get("posterPrint")+":");f.appendChild(k);mxEvent.addListener(k, +"click",function(a){l.checked=!l.checked;g.checked=!l.checked;mxEvent.consume(a)});b.appendChild(f);var m=document.createElement("input");m.setAttribute("value","1");m.setAttribute("type","number");m.setAttribute("min","1");m.setAttribute("size","4");m.setAttribute("disabled","disabled");m.style.width="50px";f=document.createElement("td");f.style.fontSize="10pt";f.appendChild(m);mxUtils.write(f," "+mxResources.get("pages")+" (max)");b.appendChild(f);h.appendChild(b);mxEvent.addListener(l,"change", +function(){l.checked?m.removeAttribute("disabled"):m.setAttribute("disabled","disabled");g.checked=!l.checked});b=b.cloneNode(!1);f=document.createElement("td");mxUtils.write(f,mxResources.get("pageScale")+":");b.appendChild(f);f=document.createElement("td");var p=document.createElement("input");p.setAttribute("value","100 %");p.setAttribute("size","5");p.style.width="50px";f.appendChild(p);b.appendChild(f);h.appendChild(b);b=document.createElement("tr");f=document.createElement("td");f.colSpan=2; +f.style.paddingTop="20px";f.setAttribute("align","right");k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&f.appendChild(k);if(PrintDialog.previewEnabled){var n=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)});n.className="geBtn";f.appendChild(n)}n=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();c(!0)});n.className="geBtn gePrimaryBtn";f.appendChild(n);a.editor.cancelFirst|| +f.appendChild(k);b.appendChild(f);h.appendChild(b);e.appendChild(h);this.container=e};PrintDialog.printPreview=function(a){if(null!=a.wnd){var c=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(c,500):c()}}; +PrintDialog.createPrintPreview=function(a,c,d,b,f,e,h){c=new mxPrintPreview(a,c,d,b,f,e);c.title=mxResources.get("preview");c.printBackgroundImage=!0;c.autoOrigin=h;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";c.backgroundColor=a;var g=c.writeHead;c.writeHead=function(a){g.apply(this,arguments);a.writeln('")};return c}; PrintDialog.previewEnabled=!0; -var PageSetupDialog=function(a){function c(){null==m||m==mxConstants.NONE?(l.style.backgroundColor="",l.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(l.style.backgroundColor=m,l.style.backgroundImage="")}function d(){null==q?(n.removeAttribute("title"),n.style.fontSize="",n.innerHTML=mxResources.get("change")+"..."):(n.setAttribute("title",q.src),n.style.fontSize="11px",n.innerHTML=q.src.substring(0,42)+"...")}var b=a.editor.graph,f,e,k=document.createElement("table");k.style.width= -"100%";k.style.height="100%";var g=document.createElement("tbody");f=document.createElement("tr");e=document.createElement("td");e.style.verticalAlign="top";e.style.fontSize="10pt";mxUtils.write(e,mxResources.get("paperSize")+":");f.appendChild(e);e=document.createElement("td");e.style.verticalAlign="top";e.style.fontSize="10pt";var h=PageSetupDialog.addPageFormatPanel(e,"pagesetupdialog",b.pageFormat);f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td"); +var PageSetupDialog=function(a){function c(){null==m||m==mxConstants.NONE?(l.style.backgroundColor="",l.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(l.style.backgroundColor=m,l.style.backgroundImage="")}function d(){null==q?(n.removeAttribute("title"),n.style.fontSize="",n.innerHTML=mxResources.get("change")+"..."):(n.setAttribute("title",q.src),n.style.fontSize="11px",n.innerHTML=q.src.substring(0,42)+"...")}var b=a.editor.graph,f,e,h=document.createElement("table");h.style.width= +"100%";h.style.height="100%";var g=document.createElement("tbody");f=document.createElement("tr");e=document.createElement("td");e.style.verticalAlign="top";e.style.fontSize="10pt";mxUtils.write(e,mxResources.get("paperSize")+":");f.appendChild(e);e=document.createElement("td");e.style.verticalAlign="top";e.style.fontSize="10pt";var k=PageSetupDialog.addPageFormatPanel(e,"pagesetupdialog",b.pageFormat);f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td"); mxUtils.write(e,mxResources.get("background")+":");f.appendChild(e);e=document.createElement("td");e.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var l=document.createElement("button");l.style.width="18px";l.style.height="18px";l.style.marginRight="20px";l.style.backgroundPosition="center center";l.style.backgroundRepeat="no-repeat";var m=b.background;c();mxEvent.addListener(l,"click",function(b){a.pickColor(m||"none",function(a){m=a;c()});mxEvent.consume(b)}); e.appendChild(l);mxUtils.write(e,mxResources.get("gridSize")+":");var p=document.createElement("input");p.setAttribute("type","number");p.setAttribute("min","0");p.style.width="40px";p.style.marginLeft="6px";p.value=b.getGridSize();e.appendChild(p);mxEvent.addListener(p,"change",function(){var a=parseInt(p.value);p.value=Math.max(1,isNaN(a)?b.getGridSize():a)});f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td");mxUtils.write(e,mxResources.get("image")+ ":");f.appendChild(e);e=document.createElement("td");var n=document.createElement("a");n.style.textDecoration="underline";n.style.cursor="pointer";n.style.color="#a0a0a0";var q=b.backgroundImage;mxEvent.addListener(n,"click",function(b){a.showBackgroundImageDialog(function(a){q=a;d()});mxEvent.consume(b)});d();e.appendChild(n);f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td");e.colSpan=2;e.style.paddingTop="16px";e.setAttribute("align","right");var t= -mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});t.className="geBtn";a.editor.cancelFirst&&e.appendChild(t);var r=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b.gridSize!==p.value&&b.setGridSize(parseInt(p.value));var c=new ChangePageSetup(a,m,q,h.get());c.ignoreColor=b.background==m;c.ignoreImage=(null!=b.backgroundImage?b.backgroundImage.src:null)===(null!=q?q.src:null);b.pageFormat.width==c.previousFormat.width&&b.pageFormat.height==c.previousFormat.height&& -c.ignoreColor&&c.ignoreImage||b.model.execute(c)});r.className="geBtn gePrimaryBtn";e.appendChild(r);a.editor.cancelFirst||e.appendChild(t);f.appendChild(e);g.appendChild(f);k.appendChild(g);this.container=k}; +mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});t.className="geBtn";a.editor.cancelFirst&&e.appendChild(t);var r=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b.gridSize!==p.value&&b.setGridSize(parseInt(p.value));var c=new ChangePageSetup(a,m,q,k.get());c.ignoreColor=b.background==m;c.ignoreImage=(null!=b.backgroundImage?b.backgroundImage.src:null)===(null!=q?q.src:null);b.pageFormat.width==c.previousFormat.width&&b.pageFormat.height==c.previousFormat.height&& +c.ignoreColor&&c.ignoreImage||b.model.execute(c)});r.className="geBtn gePrimaryBtn";e.appendChild(r);a.editor.cancelFirst||e.appendChild(t);f.appendChild(e);g.appendChild(f);h.appendChild(g);this.container=h}; PageSetupDialog.addPageFormatPanel=function(a,c,d,b){function f(a,b,c){if(c||p!=document.activeElement&&n!=document.activeElement){a=!1;for(b=0;b'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(b,c){a.apply(this,arguments);if(null!=this.shiftPreview1){var d= -this.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);var e=this.gridSize*this.view.scale*this.view.gridSteps,e=-Math.round(e-mxUtils.mod(this.view.translate.x*this.view.scale+b,e))+"px "+-Math.round(e-mxUtils.mod(this.view.translate.y*this.view.scale+c,e))+"px";d.style.backgroundPosition=e}};mxGraph.prototype.updatePageBreaks=function(a,b,c){var d=this.view.scale,e=this.view.translate,f=this.pageFormat,g=d*this.pageScale,k=this.view.getBackgroundPageBounds();b=k.width;c=k.height;var h= -new mxRectangle(d*e.x,d*e.y,f.width*g,f.height*g),l=(a=a&&Math.min(h.width,h.height)>this.minPageBreakDist)?Math.ceil(c/h.height)-1:0,v=a?Math.ceil(b/h.width)-1:0,u=k.x+b,z=k.y+c;null==this.horizontalPageBreaks&&0this.minPageBreakDist)?Math.ceil(c/k.height)-1:0,v=a?Math.ceil(b/k.width)-1:0,u=h.x+b,z=h.y+c;null==this.horizontalPageBreaks&&0document.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",c):this.diagramContainer.oncontextmenu=c):b.panningHandler.usePopupTrigger=!1;b.init(this.diagramContainer);mxClient.IS_SVG&&null!=b.view.getDrawPane()&&(c=b.view.getDrawPane().ownerSVGElement,null!=c&&(c.style.position="absolute"));this.hoverIcons=this.createHoverIcons(); -mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(a){var b=mxUtils.getOffset(this.diagramContainer);0mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),c.push(a));a=d}a=this.toolbar.fontMenu;d=this.toolbar.sizeMenu;if(null==n)this.toolbar.createTextToolbar();else{for(var e=0;emxUtils.indexOf(u,z[a])&&u.push(z[a]);var C=function(a,c){var d=b.getModel();d.beginUpdate(); -try{if(c)for(var e=d.isEdge(h),f=e?b.currentEdgeStyle:b.currentVertexStyle,e=["fontSize","fontFamily","fontColor"],g=0;gmxUtils.indexOf(z,p))||(v=mxUtils.setStyle(v,p,w))}d.setStyle(h,v)}}finally{d.endUpdate()}};b.addListener("cellsInserted",function(a,b){C(b.getProperty("cells"))});b.addListener("textInserted",function(a,b){C(b.getProperty("cells"),!0)});b.connectionHandler.addListener(mxEvent.CONNECT,function(a,b){var c= -[b.getProperty("cell")];b.getProperty("terminalInserted")&&c.push(b.getProperty("terminal"));C(c)});this.addListener("styleChanged",mxUtils.bind(this,function(a,c){var d=c.getProperty("cells"),e=!1,f=!1;if(0mxUtils.indexOf(u,z[a])&&u.push(z[a]);var D=function(a,c){var d=b.getModel();d.beginUpdate(); +try{if(c)for(var e=d.isEdge(k),f=e?b.currentEdgeStyle:b.currentVertexStyle,e=["fontSize","fontFamily","fontColor"],g=0;gmxUtils.indexOf(z,p))||(C=mxUtils.setStyle(C,p,w))}d.setStyle(k,C)}}finally{d.endUpdate()}};b.addListener("cellsInserted",function(a,b){D(b.getProperty("cells"))});b.addListener("textInserted",function(a,b){D(b.getProperty("cells"),!0)});b.connectionHandler.addListener(mxEvent.CONNECT,function(a,b){var c= +[b.getProperty("cell")];b.getProperty("terminalInserted")&&c.push(b.getProperty("terminal"));D(c)});this.addListener("styleChanged",mxUtils.bind(this,function(a,c){var d=c.getProperty("cells"),e=!1,f=!1;if(0screen.width&&(a.style.maxWidth=Math.max(20,screen.width-320)+"px",a.style.overflow="hidden");return a};EditorUi.prototype.setStatusText=function(a){this.statusContainer.innerHTML=a};EditorUi.prototype.createToolbar=function(a){return new Toolbar(this,a)}; EditorUi.prototype.createSidebar=function(a){return new Sidebar(this,a)};EditorUi.prototype.createFormat=function(a){return new Format(this,a)};EditorUi.prototype.createFooter=function(){return this.createDiv("geFooter")};EditorUi.prototype.createDiv=function(a){var c=document.createElement("div");c.className=a;return c}; -EditorUi.prototype.addSplitHandler=function(a,c,d,b){function f(a){if(null!=k){var e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a));b(Math.max(0,g+(c?e.x-k.x:k.y-e.y)-d));mxEvent.consume(a);g!=m()&&(h=!0,l=null)}}function e(a){f(a);k=g=null}var k=null,g=null,h=!0,l=null;mxClient.IS_POINTER&&(a.style.touchAction="none");var m=mxUtils.bind(this,function(){var b=parseInt(c?a.style.left:a.style.bottom);c||(b=b+d-this.footerHeight);return b});mxEvent.addGestureListeners(a,function(a){k=new mxPoint(mxEvent.getClientX(a), -mxEvent.getClientY(a));g=m();h=!1;mxEvent.consume(a)});mxEvent.addListener(a,"click",function(a){if(!h){var c=null!=l?l-d:0;l=m();b(c);mxEvent.consume(a)}});mxEvent.addGestureListeners(document,null,f,e);this.destroyFunctions.push(function(){mxEvent.removeGestureListeners(document,null,f,e)})};EditorUi.prototype.showDialog=function(a,c,d,b,f,e,k){this.editor.graph.tooltipHandler.hideTooltip();null==this.dialogs&&(this.dialogs=[]);this.dialog=new Dialog(this,a,c,d,b,f,e,k);this.dialogs.push(this.dialog)}; +EditorUi.prototype.addSplitHandler=function(a,c,d,b){function f(a){if(null!=h){var e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a));b(Math.max(0,g+(c?e.x-h.x:h.y-e.y)-d));mxEvent.consume(a);g!=m()&&(k=!0,l=null)}}function e(a){f(a);h=g=null}var h=null,g=null,k=!0,l=null;mxClient.IS_POINTER&&(a.style.touchAction="none");var m=mxUtils.bind(this,function(){var b=parseInt(c?a.style.left:a.style.bottom);c||(b=b+d-this.footerHeight);return b});mxEvent.addGestureListeners(a,function(a){h=new mxPoint(mxEvent.getClientX(a), +mxEvent.getClientY(a));g=m();k=!1;mxEvent.consume(a)});mxEvent.addListener(a,"click",function(a){if(!k){var c=null!=l?l-d:0;l=m();b(c);mxEvent.consume(a)}});mxEvent.addGestureListeners(document,null,f,e);this.destroyFunctions.push(function(){mxEvent.removeGestureListeners(document,null,f,e)})};EditorUi.prototype.showDialog=function(a,c,d,b,f,e,h){this.editor.graph.tooltipHandler.hideTooltip();null==this.dialogs&&(this.dialogs=[]);this.dialog=new Dialog(this,a,c,d,b,f,e,h);this.dialogs.push(this.dialog)}; EditorUi.prototype.hideDialog=function(a){null!=this.dialogs&&0navigator.userAgent.indexOf("Camino")?(a=new mxMorphing(b),a.addListener(mxEvent.DONE,mxUtils.bind(this,function(){b.getModel().endUpdate();null!=d&&d()})),a.startAnimation()):(b.getModel().endUpdate(),null!=d&&d())}}}; -EditorUi.prototype.showImageDialog=function(a,c,d,b){b=this.editor.graph.cellEditor;var f=b.saveSelection(),e=mxUtils.prompt(a,c);b.restoreSelection(f);if(null!=e&&0this.maxTooltipWidth||b>this.maxTooltipHeight?Math.round(100*Math.min(this.maxTooltipWidth/d,this.maxTooltipHeight/b))/100:1;this.tooltip.style.display="block";this.graph2.labelsVisible=null==e||e;var g=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;this.graph2.addCells(c); -mxClient.NO_FO=g;var k=this.graph2.getGraphBounds(),l=k.width+2*this.tooltipBorder+4,g=k.height+2*this.tooltipBorder;mxClient.IS_QUIRKS?(g+=4,this.tooltip.style.overflow="hidden"):this.tooltip.style.overflow="visible";this.tooltipImage.style.visibility="visible";this.tooltip.style.width=l+"px";this.tooltipTitles&&null!=f&&0Heading

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

","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;",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;", @@ -2305,96 +2305,96 @@ null,"bpmn send task"),this.createVertexTemplateEntry("shape=message;whiteSpace= this.createEdgeTemplateEntry("startArrow=dash;startSize=8;endArrow=block;endFill=1;endSize=6;html=1;",100,0,"","Default Flow",null,"bpmn default flow"),this.createEdgeTemplateEntry("startArrow=diamondThin;startFill=0;startSize=14;endArrow=block;endFill=1;endSize=6;html=1;",100,0,"","Conditional Flow",null,"bpmn conditional flow"),this.createEdgeTemplateEntry("startArrow=oval;startFill=0;startSize=7;endArrow=block;endFill=0;endSize=10;dashed=1;html=1;",100,0,"","Message Flow 1",null,"bpmn message flow"), this.addEntry("bpmn message flow",function(){var a=new mxCell("",new mxGeometry(0,0,0,0),"startArrow=oval;startFill=0;startSize=7;endArrow=block;endFill=0;endSize=10;dashed=1;html=1;");a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(100,0),!1);a.geometry.relative=!0;a.edge=!0;var b=new mxCell("",new mxGeometry(0,0,20,14),"shape=message;html=1;");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;b.geometry.offset=new mxPoint(-10,-7);a.insert(b);return d.createEdgeTemplateFromCells([a], 100,0,"Message Flow 2")}),this.createEdgeTemplateEntry("shape=link;html=1;",100,0,"","Link",null,"bpmn link")];this.addPaletteFunctions("bpmn","BPMN "+mxResources.get("general"),!1,b)};Sidebar.prototype.createTitle=function(a){var c=document.createElement("a");c.setAttribute("href","javascript:void(0);");c.setAttribute("title",mxResources.get("sidebarTooltip"));c.className="geTitle";mxUtils.write(c,a);return c}; -Sidebar.prototype.createThumb=function(a,c,d,b,f,e,k,g,h){this.graph.labelsVisible=null==e||e;e=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;this.graph.view.scaleAndTranslate(1,0,0);this.graph.addCells(a);a=this.graph.getGraphBounds();g=Math.floor(100*Math.min((c-2*this.thumbBorder)/a.width,(d-2*this.thumbBorder)/a.height))/100;this.graph.view.scaleAndTranslate(g,Math.floor((c-a.width*g)/2/g-a.x),Math.floor((d-a.height*g)/2/g-a.y));if(this.graph.dialect!=mxConstants.DIALECT_SVG|| +Sidebar.prototype.createThumb=function(a,c,d,b,f,e,h,g,k){this.graph.labelsVisible=null==e||e;e=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;this.graph.view.scaleAndTranslate(1,0,0);this.graph.addCells(a);a=this.graph.getGraphBounds();g=Math.floor(100*Math.min((c-2*this.thumbBorder)/a.width,(d-2*this.thumbBorder)/a.height))/100;this.graph.view.scaleAndTranslate(g,Math.floor((c-a.width*g)/2/g-a.x),Math.floor((d-a.height*g)/2/g-a.y));if(this.graph.dialect!=mxConstants.DIALECT_SVG|| mxClient.NO_FO){if(g=this.graph.container.cloneNode(!1),g.innerHTML=this.graph.container.innerHTML,mxClient.IS_QUIRKS||8==document.documentMode)g.firstChild.style.overflow="visible"}else g=this.graph.view.getCanvas().ownerSVGElement.cloneNode(!0);this.graph.getModel().clear();mxClient.NO_FO=e;mxClient.IS_IE6&&(b.style.backgroundImage="url("+this.editorUi.editor.transparentImage+")");g.style.position="relative";g.style.overflow="hidden";g.style.cursor="move";g.style.left=this.thumbBorder+"px";g.style.top= -this.thumbBorder+"px";g.style.width=c+"px";g.style.height=d+"px";g.style.visibility="";g.style.minWidth="";g.style.minHeight="";b.appendChild(g);this.sidebarTitles&&null!=f&&0!=k&&(b.style.height=this.thumbHeight+(mxClient.IS_QUIRKS?2*this.thumbPadding+2:0)+this.sidebarTitleSize+8+"px",c=document.createElement("div"),c.style.fontSize=this.sidebarTitleSize+"px",c.style.color="#303030",c.style.textAlign="center",c.style.whiteSpace="nowrap",mxClient.IS_IE&&(c.style.height=this.sidebarTitleSize+12+"px"), +this.thumbBorder+"px";g.style.width=c+"px";g.style.height=d+"px";g.style.visibility="";g.style.minWidth="";g.style.minHeight="";b.appendChild(g);this.sidebarTitles&&null!=f&&0!=h&&(b.style.height=this.thumbHeight+(mxClient.IS_QUIRKS?2*this.thumbPadding+2:0)+this.sidebarTitleSize+8+"px",c=document.createElement("div"),c.style.fontSize=this.sidebarTitleSize+"px",c.style.color="#303030",c.style.textAlign="center",c.style.whiteSpace="nowrap",mxClient.IS_IE&&(c.style.height=this.sidebarTitleSize+12+"px"), c.style.paddingTop="4px",mxUtils.write(c,f),b.appendChild(c));return a}; -Sidebar.prototype.createItem=function(a,c,d,b,f,e,k){var g=document.createElement("a");g.setAttribute("href","javascript:void(0);");g.className="geItem";g.style.overflow="hidden";var h=mxClient.IS_QUIRKS?8+2*this.thumbPadding:2*this.thumbBorder;g.style.width=this.thumbWidth+h+"px";g.style.height=this.thumbHeight+h+"px";g.style.padding=this.thumbPadding+"px";mxClient.IS_IE6&&(g.style.border="none");mxEvent.addListener(g,"click",function(a){mxEvent.consume(a)});this.createThumb(a,this.thumbWidth,this.thumbHeight, -g,c,d,b,f,e);var l=new mxRectangle(0,0,f,e);1F&&null!=h&&!mxEvent.isShiftDown(e)&&(mxUtils.getValue(h.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(G,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(h.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(h.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(h.style,mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(G,mxConstants.STYLE_SHAPE)|| -1500this.dropTargetDelay&&(a.model.isVertex(h.cell)&&null!=m||a.model.isEdge(h.cell)&&a.model.isEdge(b[0]))){v=h;var l=a.model.isEdge(h.cell)?a.view.getPoint(h):new mxPoint(h.getCenterX(),h.getCenterY()),l=new mxRectangle(l.x-this.refreshTarget.width/2,l.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);C.style.left=Math.floor(l.x)+"px";C.style.top=Math.floor(l.y)+"px";null==B&&(a.container.appendChild(C),B=C.parentNode);k(c,d,l,C)}else null== -v||!mxUtils.contains(v,c,d)||1500F&&F>this.dropTargetDelay||a.model.isEdge(f)?h:null,null!=r&&l){g=[L,K,z,x,D,A];for(l=0;lF&&null!=k&&!mxEvent.isShiftDown(e)&&(mxUtils.getValue(k.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(H,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(k.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(H,mxConstants.STYLE_SHAPE)|| +1500this.dropTargetDelay&&(a.model.isVertex(k.cell)&&null!=m||a.model.isEdge(k.cell)&&a.model.isEdge(b[0]))){v=k;var l=a.model.isEdge(k.cell)?a.view.getPoint(k):new mxPoint(k.getCenterX(),k.getCenterY()),l=new mxRectangle(l.x-this.refreshTarget.width/2,l.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);D.style.left=Math.floor(l.x)+"px";D.style.top=Math.floor(l.y)+"px";null==B&&(a.container.appendChild(D),B=D.parentNode);h(c,d,l,D)}else null== +v||!mxUtils.contains(v,c,d)||1500F&&F>this.dropTargetDelay||a.model.isEdge(f)?k:null,null!=r&&l){g=[L,K,z,x,C,A];for(l=0;lmxUtils.indexOf(f,c)){d=this.getTagsForStencil(a,c);var m=null!=g?g[c]:null;null!=m&&d.push(m);l.push(this.createVertexTemplateEntry("shape="+a+c.toLowerCase()+b,Math.round(e*k),Math.round(h*k),"",c.replace(/_/g," "),null,null,this.filterTags(d.join(" "))))}}), -!0,!0);this.addPaletteFunctions(a,c,!1,l)}else this.addPalette(a,c,!1,mxUtils.bind(this,function(a){null==b&&(b="");null!=e&&e.call(this,a);if(null!=h)for(var c=0;cmxUtils.indexOf(f,d))&&a.appendChild(this.createVertexTemplate("shape="+c+d.toLowerCase()+b,Math.round(g*k),Math.round(h*k),"",d.replace(/_/g," "),!0))}),!0)}))}; +Sidebar.prototype.addStencilPalette=function(a,c,d,b,f,e,h,g,k){h=null!=h?h:1;if(this.addStencilsToIndex){var l=[];if(null!=k)for(var m=0;mmxUtils.indexOf(f,c)){d=this.getTagsForStencil(a,c);var m=null!=g?g[c]:null;null!=m&&d.push(m);l.push(this.createVertexTemplateEntry("shape="+a+c.toLowerCase()+b,Math.round(e*h),Math.round(k*h),"",c.replace(/_/g," "),null,null,this.filterTags(d.join(" "))))}}), +!0,!0);this.addPaletteFunctions(a,c,!1,l)}else this.addPalette(a,c,!1,mxUtils.bind(this,function(a){null==b&&(b="");null!=e&&e.call(this,a);if(null!=k)for(var c=0;cmxUtils.indexOf(f,d))&&a.appendChild(this.createVertexTemplate("shape="+c+d.toLowerCase()+b,Math.round(g*h),Math.round(k*h),"",d.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)};"undefined"!==typeof html4&&(html4.ATTRIBS["a::target"]=0,html4.ATTRIBS["source::src"]=0,html4.ATTRIBS["video::src"]=0);mxConstants.SHADOW_OPACITY=.25;mxConstants.SHADOWCOLOR="#000000";mxConstants.VML_SHADOWCOLOR="#d0d0d0";mxGraph.prototype.pageBreakColor="#c0c0c0";mxGraph.prototype.pageScale=1; (function(){try{if(null!=navigator&&null!=navigator.language){var a=navigator.language.toLowerCase();mxGraph.prototype.pageFormat="en-us"===a||"en-ca"===a||"es-mx"===a?mxConstants.PAGE_FORMAT_LETTER_PORTRAIT:mxConstants.PAGE_FORMAT_A4_PORTRAIT}}catch(c){}})();mxText.prototype.baseSpacingTop=5;mxText.prototype.baseSpacingBottom=1;mxGraphModel.prototype.ignoreRelativeEdgeParent=!1; mxGraphView.prototype.gridImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhCgAKAJEAAAAAAP///8zMzP///yH5BAEAAAMALAAAAAAKAAoAAAIJ1I6py+0Po2wFADs=":IMAGE_PATH+"/grid.gif";mxGraphView.prototype.gridSteps=4;mxGraphView.prototype.minGridSize=4;mxGraphView.prototype.gridColor="#e0e0e0";mxSvgCanvas2D.prototype.foAltText="[Not supported by viewer]"; Graph=function(a,c,d,b,f){mxGraph.call(this,a,c,d,b);this.themes=f||this.defaultThemes;this.currentEdgeStyle=mxUtils.clone(this.defaultEdgeStyle);this.currentVertexStyle=mxUtils.clone(this.defaultVertexStyle);a=this.baseUrl;c=a.indexOf("//");this.domainPathUrl=this.domainUrl="";0d||Math.abs(e.y-b.getGraphY())>d){this.isCellSelected(c.cell)||this.setSelectionCell(c.cell);var f=this.selectionCellsHandler.getHandler(c.cell);if(null!=f&&null!=f.bends&&0d||Math.abs(e.y-b.getGraphY())>d){this.isCellSelected(c.cell)||this.setSelectionCell(c.cell);var f=this.selectionCellsHandler.getHandler(c.cell);if(null!=f&&null!=f.bends&&0mxUtils.indexOf(b,e)&&c.push(e)):c.push(b[d])}return c};this.connectionHandler.createTargetVertex=function(a,b){var c=this.graph.view.getState(b),c=null!=c?c.style:this.graph.getCellStyle(b);mxUtils.getValue(c,"part",!1)&&(c=this.graph.model.getParent(b),this.graph.model.isVertex(c)&&(b=c));return mxConnectionHandler.prototype.createTargetVertex.apply(this,arguments)};var p=new mxRubberband(this); this.getRubberband=function(){return p};var n=(new Date).getTime(),q=0,t=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;t.apply(this,arguments);a!=this.currentState?(n=(new Date).getTime(),q=0):q=(new Date).getTime()-n};var r=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3=a&&y.y+y.height<=k&&y.y>=b&&y.x+y.width<=h&&f.push(G);this.getAllCells(a,b,c,d,G,f)}}}return f};var D=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,b,c){return this.graph.isCellSelected(a)?!1:D.apply(this, +this.isCellLocked(a)){if(null!=this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return x.apply(this,arguments)};this.selectRegion=function(a,b){var c=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(c,b);return c};this.getAllCells=function(a,b,c,d,e,f){f=null!=f?f:[];if(0=a&&y.y+y.height<=h&&y.y>=b&&y.x+y.width<=k&&f.push(H);this.getAllCells(a,b,c,d,H,f)}}}return f};var C=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,b,c){return this.graph.isCellSelected(a)?!1:C.apply(this, arguments)};this.isCellLocked=function(a){for(a=this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var A=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")){var c=b.getProperty("event").getState();A=null==c||this.isSelectionEmpty()||this.isCellSelected(c.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD, mxUtils.bind(this,function(a,b){if(!mxEvent.isMultiTouchEvent(b)){var c=b.getProperty("event"),d=b.getProperty("cell");null==d?(c=mxUtils.convertPoint(this.container,mxEvent.getClientX(c),mxEvent.getClientY(c)),p.start(c.x,c.y)):null!=A?this.addSelectionCells(A):1'+d+""));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(d):Base64.encode(d,!0)),a,c)};mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null; Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff";Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.defaultGraphBackground="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400); Graph.prototype.transparentBackground=!0;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default";Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=(window!=window.top?document.referrer:document.location.toString()).split("#")[0]; -Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,d){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,c=!0,e=null,k=mxUtils.bind(this,function(a){c=!0;e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),g=mxUtils.bind(this,function(a){c=c&&null!=e&&Math.abs(e.x-mxEvent.getClientX(a))n?"a":"p",tt:12>n?"am":"pm",T:12>n?"A":"P",TT:12>n?"AM":"PM",Z:d?"UTC":(String(a).match(f)||[""]).pop().replace(e,""),o:(0n?"a":"p",tt:12>n?"am":"pm",T:12>n?"A":"P",TT:12>n?"AM":"PM",Z:d?"UTC":(String(a).match(f)||[""]).pop().replace(e,""),o:(0b&&"%"==c.charAt(match.index-1))e=f.substring(1);else{var k=f.substring(1,f.length-1);if(0>k.indexOf("{"))for(var g=a;null==e&&null!=g;)null!=g.value&&"object"==typeof g.value&&(e=g.hasAttribute(k)?null!=g.getAttribute(k)?g.getAttribute(k):"":null),g=this.model.getParent(g);null==e&&(e=this.getGlobalVariable(k))}d.push(c.substring(b, +Graph.prototype.replacePlaceholders=function(a,c){for(var d=[],b=0;match=this.placeholderPattern.exec(c);){var f=match[0];if(2b&&"%"==c.charAt(match.index-1))e=f.substring(1);else{var h=f.substring(1,f.length-1);if(0>h.indexOf("{"))for(var g=a;null==e&&null!=g;)null!=g.value&&"object"==typeof g.value&&(e=g.hasAttribute(h)?null!=g.getAttribute(h)?g.getAttribute(h):"":null),g=this.model.getParent(g);null==e&&(e=this.getGlobalVariable(h))}d.push(c.substring(b, match.index)+(null!=e?e:f));b=match.index+f.length}}d.push(c.substring(b));return d.join("")};Graph.prototype.selectCellsForConnectVertex=function(a,c,d){2==a.length&&this.model.isVertex(a[1])?(this.setSelectionCell(a[1]),null!=d&&(mxEvent.isTouchEvent(c)?d.update(d.getState(this.view.getState(a[1]))):d.reset()),this.scrollCellToVisible(a[1])):this.setSelectionCells(a)}; -Graph.prototype.connectVertex=function(a,c,d,b,f,e){e=e?e:!1;var k=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);c==mxConstants.DIRECTION_NORTH?(k.x+=a.geometry.width/2,k.y-=d):c==mxConstants.DIRECTION_SOUTH?(k.x+=a.geometry.width/2,k.y+=a.geometry.height+d):(k.x=c==mxConstants.DIRECTION_WEST?k.x-d:k.x+(a.geometry.width+d),k.y+=a.geometry.height/2);d=this.view.getState(this.model.getParent(a)); -var g=this.view.scale,h=this.view.translate,l=h.x*g,h=h.y*g;this.model.isVertex(d.cell)&&(l=d.x,h=d.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(k.x+=a.parent.geometry.x,k.y+=a.parent.geometry.y);e=e||mxEvent.isControlDown(b)&&!f?null:this.getCellAt(l+k.x*g,h+k.y*g);this.model.isAncestor(e,a)&&(e=null);for(d=e;null!=d;){if(this.isCellLocked(d)){e=null;break}d=this.model.getParent(d)}null!=e&&(d=this.view.getState(a),g=this.view.getState(e),null!=d&&null!=g&&mxUtils.intersects(d,g)&&(e= -null));if(f=!mxEvent.isShiftDown(b)||f)c==mxConstants.DIRECTION_NORTH?k.y-=a.geometry.height/2:c==mxConstants.DIRECTION_SOUTH?k.y+=a.geometry.height/2:k.x=c==mxConstants.DIRECTION_WEST?k.x-a.geometry.width/2:k.x+a.geometry.width/2;null==e||this.isCellConnectable(e)||(d=this.getModel().getParent(e),this.getModel().isVertex(d)&&this.isCellConnectable(d)&&(e=d));if(e==a||this.model.isEdge(e)||!this.isCellConnectable(e))e=null;d=[];this.model.beginUpdate();try{g=e;if(null==g&&f){for(var l=a,m=this.getCellGeometry(a);null!= -m&&m.relative;)l=this.getModel().getParent(l),m=this.getCellGeometry(l);var p=this.view.getState(l),n=null!=p?p.style:this.getCellStyle(l);if(mxUtils.getValue(n,"part",!1)){var q=this.model.getParent(l);this.model.isVertex(q)&&(l=q)}g=this.duplicateCells([l],!1)[0];m=this.getCellGeometry(g);null!=m&&(m.x=k.x-m.width/2,m.y=k.y-m.height/2)}m=null;null!=this.layoutManager&&(m=this.layoutManager.getLayout(this.model.getParent(a)));var t=mxEvent.isControlDown(b)&&f||null==e&&null!=m&&m.constructor==mxStackLayout? +Graph.prototype.connectVertex=function(a,c,d,b,f,e){e=e?e:!1;var h=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);c==mxConstants.DIRECTION_NORTH?(h.x+=a.geometry.width/2,h.y-=d):c==mxConstants.DIRECTION_SOUTH?(h.x+=a.geometry.width/2,h.y+=a.geometry.height+d):(h.x=c==mxConstants.DIRECTION_WEST?h.x-d:h.x+(a.geometry.width+d),h.y+=a.geometry.height/2);d=this.view.getState(this.model.getParent(a)); +var g=this.view.scale,k=this.view.translate,l=k.x*g,k=k.y*g;this.model.isVertex(d.cell)&&(l=d.x,k=d.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(h.x+=a.parent.geometry.x,h.y+=a.parent.geometry.y);e=e||mxEvent.isControlDown(b)&&!f?null:this.getCellAt(l+h.x*g,k+h.y*g);this.model.isAncestor(e,a)&&(e=null);for(d=e;null!=d;){if(this.isCellLocked(d)){e=null;break}d=this.model.getParent(d)}null!=e&&(d=this.view.getState(a),g=this.view.getState(e),null!=d&&null!=g&&mxUtils.intersects(d,g)&&(e= +null));if(f=!mxEvent.isShiftDown(b)||f)c==mxConstants.DIRECTION_NORTH?h.y-=a.geometry.height/2:c==mxConstants.DIRECTION_SOUTH?h.y+=a.geometry.height/2:h.x=c==mxConstants.DIRECTION_WEST?h.x-a.geometry.width/2:h.x+a.geometry.width/2;null==e||this.isCellConnectable(e)||(d=this.getModel().getParent(e),this.getModel().isVertex(d)&&this.isCellConnectable(d)&&(e=d));if(e==a||this.model.isEdge(e)||!this.isCellConnectable(e))e=null;d=[];this.model.beginUpdate();try{g=e;if(null==g&&f){for(var l=a,m=this.getCellGeometry(a);null!= +m&&m.relative;)l=this.getModel().getParent(l),m=this.getCellGeometry(l);var p=this.view.getState(l),n=null!=p?p.style:this.getCellStyle(l);if(mxUtils.getValue(n,"part",!1)){var q=this.model.getParent(l);this.model.isVertex(q)&&(l=q)}g=this.duplicateCells([l],!1)[0];m=this.getCellGeometry(g);null!=m&&(m.x=h.x-m.width/2,m.y=h.y-m.height/2)}m=null;null!=this.layoutManager&&(m=this.layoutManager.getLayout(this.model.getParent(a)));var t=mxEvent.isControlDown(b)&&f||null==e&&null!=m&&m.constructor==mxStackLayout? null:this.insertEdge(this.model.getParent(a),null,"",a,g,this.createCurrentEdgeStyle());if(null!=t&&this.connectionHandler.insertBeforeSource){var r=null;for(b=a;null!=b.parent&&null!=b.geometry&&b.geometry.relative&&b.parent!=t.parent;)b=this.model.getParent(b);null!=b&&null!=b.parent&&b.parent==t.parent&&(r=b.parent.getIndex(b),this.model.add(b.parent,t,r))}null==e&&null!=g&&null!=m&&null!=a.parent&&m.constructor==mxStackLayout&&c==mxConstants.DIRECTION_WEST&&(r=a.parent.getIndex(a),this.model.add(a.parent, -g,r));null!=t&&d.push(t);null==e&&null!=g&&d.push(g);null==g&&null!=t&&t.geometry.setTerminalPoint(k,!1);null!=t&&this.fireEvent(new mxEventObject("cellsInserted","cells",[t]))}finally{this.model.endUpdate()}return d}; +g,r));null!=t&&d.push(t);null==e&&null!=g&&d.push(g);null==g&&null!=t&&t.geometry.setTerminalPoint(h,!1);null!=t&&this.fireEvent(new mxEventObject("cellsInserted","cells",[t]))}finally{this.model.endUpdate()}return d}; Graph.prototype.getIndexableText=function(){var a=document.createElement("div"),c=[],d,b;for(b in this.model.cells)if(d=this.model.cells[b],this.model.isVertex(d)||this.model.isEdge(d))this.isHtmlLabel(d)?(a.innerHTML=this.getLabel(d),d=mxUtils.extractTextWithWhitespace([a])):d=this.getLabel(d),d=mxUtils.trim(d.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")),0f||Math.abs(u.y-C.y)>f)&&(Math.abs(u.x-A.x)>f||Math.abs(u.y-A.y)>f)){A=u.x-k.x;C=u.y-k.y;u={distSq:A*A+C*C,x:u.x,y:u.y};for(A=0;Au.distSq){v.splice(A,0,u);u=null;break}null==u||0!=v.length&&v[v.length-1].x===u.x&&v[v.length-1].y===u.y||v.push(u)}}}for(x=0;xf||Math.abs(u.y-D.y)>f)&&(Math.abs(u.x-A.x)>f||Math.abs(u.y-A.y)>f)){A=u.x-h.x;D=u.y-h.y;u={distSq:A*A+D*D,x:u.x,y:u.y};for(A=0;Au.distSq){v.splice(A,0,u);u=null;break}null==u||0!=v.length&&v[v.length-1].x===u.x&&v[v.length-1].y===u.y||v.push(u)}}}for(x=0;xe*e&&0e*e&&(A=new mxPoint(D.x-u.x,D.y-u.y),x=new mxPoint(D.x+u.x,D.y+u.y),h.push(A),this.addPoints(a,h,c,d,!1, -null,k),h=0>Math.round(u.x)||0==Math.round(u.x)&&0>=Math.round(u.y)?1:-1,k=!1,"sharp"==g?(a.lineTo(A.x-u.y*h,A.y+u.x*h),a.lineTo(x.x-u.y*h,x.y+u.x*h),a.lineTo(x.x,x.y)):"arc"==g?(h*=1.3,a.curveTo(A.x-u.y*h,A.y+u.x*h,x.x-u.y*h,x.y+u.x*h,x.x,x.y)):(a.moveTo(x.x,x.y),k=!0),h=[x],A=!0))}else u=null;A||(h.push(D),l=D)}this.addPoints(a,h,c,d,!1,null,k);a.stroke()}};var e=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,d){if(null==b||null== +this.state.routedPoints[z],C=new mxPoint(x.x/this.scale,x.y/this.scale);0==z?C=b[0]:z==this.state.routedPoints.length-1&&(C=b[b.length-1]);var A=!1;if(null!=l&&1==x.type){var D=this.state.routedPoints[z+1],x=D.x/this.scale-C.x,D=D.y/this.scale-C.y,x=x*x+D*D;null==u&&(u=new mxPoint(C.x-l.x,C.y-l.y),m=Math.sqrt(u.x*u.x+u.y*u.y),u.x=u.x*e/m,u.y=u.y*e/m);x>e*e&&0e*e&&(A=new mxPoint(C.x-u.x,C.y-u.y),x=new mxPoint(C.x+u.x,C.y+u.y),h.push(A),this.addPoints(a,h,c,d,!1, +null,k),h=0>Math.round(u.x)||0==Math.round(u.x)&&0>=Math.round(u.y)?1:-1,k=!1,"sharp"==g?(a.lineTo(A.x-u.y*h,A.y+u.x*h),a.lineTo(x.x-u.y*h,x.y+u.x*h),a.lineTo(x.x,x.y)):"arc"==g?(h*=1.3,a.curveTo(A.x-u.y*h,A.y+u.x*h,x.x-u.y*h,x.y+u.x*h,x.x,x.y)):(a.moveTo(x.x,x.y),k=!0),h=[x],A=!0))}else u=null;A||(h.push(C),l=C)}this.addPoints(a,h,c,d,!1,null,k);a.stroke()}};var e=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,d){if(null==b||null== a||"1"!=b.style.snapToPoint&&"1"!=a.style.snapToPoint)e.apply(this,arguments);else{b=this.getTerminalPort(a,b,d);var f=this.getNextPoint(a,c,d),g=this.graph.isOrthogonal(a),h=mxUtils.toRadians(Number(b.style[mxConstants.STYLE_ROTATION]||"0")),k=new mxPoint(b.getCenterX(),b.getCenterY());if(0!=h)var l=Math.cos(-h),m=Math.sin(-h),f=mxUtils.getRotatedPoint(f,l,m,k);l=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||0);l+=parseFloat(a.style[d?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]|| -0);f=this.getPerimeterPoint(b,f,0==h&&g,l);0!=h&&(l=Math.cos(h),m=Math.sin(h),f=mxUtils.getRotatedPoint(f,l,m,k));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,b,c,d,f),d)}};mxGraphView.prototype.snapToAnchorPoint=function(a,b,c,d,e){if(null!=b&&null!=a){a=this.graph.getAllConnectionConstraints(b);d=c=null;for(var f=0;f=e.getStatus()&&eval.call(window,e.getText())}}catch(k){null!=window.console&&console.log("error in getStencil:",f,k)}}mxStencilRegistry.packages[d]=1}}else d=d.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+d+".xml",null);c=mxStencilRegistry.stencils[a]}}return c}; +mxUtils.load(f);null!=e&&200<=e.getStatus()&&299>=e.getStatus()&&eval.call(window,e.getText())}}catch(h){null!=window.console&&console.log("error in getStencil:",f,h)}}mxStencilRegistry.packages[d]=1}}else d=d.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+d+".xml",null);c=mxStencilRegistry.stencils[a]}}return c}; mxStencilRegistry.getBasenameForStencil=function(a){var c=null;if(null!=a&&(a=a.split("."),0=a.getStatus()?a.getXml():null)}));else return mxUtils.load(a).getXml()};mxStencilRegistry.parseStencilSets=function(a){for(var c=0;cb&& -c[d].deleteCell(b)};Graph.prototype.pasteHtmlAtCaret=function(a){var b;if(window.getSelection){if(b=window.getSelection(),b.getRangeAt&&b.rangeCount){b=b.getRangeAt(0);b.deleteContents();var c=document.createElement("div");c.innerHTML=a;a=document.createDocumentFragment();for(var d;d=c.firstChild;)lastNode=a.appendChild(d);b.insertNode(a)}}else(b=document.selection)&&"Control"!=b.type&&b.createRange().pasteHTML(a)};Graph.prototype.createLinkForHint=function(a,b){b=null!=b?b:a;var c=document.createElement("a"); -c.setAttribute("href",this.getAbsoluteUrl(a));c.setAttribute("title",a);null!=this.linkTarget&&c.setAttribute("target",this.linkTarget);40"):h,!0);this.textarea.className="mxCellEditor geContentEditable";var d=mxUtils.getValue(a.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),b=mxUtils.getValue(a.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),e=mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),f=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)== -mxConstants.FONT_BOLD,g=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,a=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.textDecoration=a?"underline":"";this.textarea.style.fontWeight= -f?"bold":"normal";this.textarea.style.fontStyle=g?"italic":"";this.textarea.style.fontFamily=b;this.textarea.style.textAlign=e;this.textarea.style.padding="0px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0
"));h=this.graph.sanitizeHtml(b?h.replace(/\n/g,"").replace(/<br\s*.?>/g,"
"):h,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var d=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(d)+ -"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.padding="2px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState);this.switchSelectionState=c;this.resize()};var h=mxCellEditor.prototype.resize; -mxCellEditor.prototype.resize=function(a,b){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=a){var c=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*c;this.bounds.height=60*c;var d=null!=a.text?a.text.margin:null;null==d&&(d=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN, -mxConstants.ALIGN_MIDDLE)));this.bounds.x+=d.x*this.bounds.width;this.bounds.y+=d.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/c)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/c)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight"));return c=this.graph.sanitizeHtml(c,!0)};mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue= -function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var b=this.graph.sanitizeHtml(this.textarea.innerHTML,!0);return b="1"==mxUtils.getValue(a.style,"nl2Br","1")?b.replace(/\r\n/g,"
").replace(/\n/g,"
"):b.replace(/\r\n/g,"").replace(/\n/g,"")};var l=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&&this.toggleViewMode();l.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer= -function(){try{this.graph.container.focus()}catch(H){}};var m=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,b){this.graph.getModel().beginUpdate();try{if(m.apply(this,arguments),this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)){var c=mxUtils.getValue(a.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),d=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);""==b&&c==mxConstants.NONE&&d==mxConstants.NONE&&this.graph.removeCells([a.cell], -!1)}}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var b=null;if(this.graph.getModel().isEdge(a.cell)||this.graph.getModel().isEdge(this.graph.getModel().getParent(a.cell)))b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null),b==mxConstants.NONE&&(b=null);return b};mxCellEditor.prototype.getMinimumSize=function(a){var b=this.graph.getView().scale;return new mxRectangle(0,0,null==a.text?30:a.text.size*b+20,30)};var p=mxGraphHandler.prototype.moveCells; -mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,f){mxEvent.isAltDown(f)&&(e=null);p.apply(this,arguments)};mxGraphHandler.prototype.updateHint=function(b){if(null!=this.shape){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var c=this.graph.view.translate,d=this.graph.view.scale;b=this.roundLength((this.bounds.x+this.currentDx)/d-c.x);c=this.roundLength((this.bounds.y+this.currentDy)/d-c.y);this.hint.innerHTML=b+", "+c;this.hint.style.left=this.shape.bounds.x+Math.round((this.shape.bounds.width- -this.hint.clientWidth)/2)+"px";this.hint.style.top=this.shape.bounds.y+this.shape.bounds.height+12+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(this.hint.parentNode.removeChild(this.hint),this.hint=null)};mxVertexHandler.prototype.isRecursiveResize=function(a,b){return!this.graph.isSwimlane(a.cell)&&0'):new mxImage(IMAGE_PATH+"/handle-main.png",17,17);HoverIcons.prototype.secondaryHandle=mxClient.IS_SVG?Graph.createSvgImage(16,16,''):new mxImage(IMAGE_PATH+"/handle-secondary.png",17,17);HoverIcons.prototype.fixedHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,''): -new mxImage(IMAGE_PATH+"/handle-fixed.png",17,17);HoverIcons.prototype.terminalHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,''):new mxImage(IMAGE_PATH+"/handle-terminal.png",17,17);HoverIcons.prototype.rotationHandle=new mxImage(mxClient.IS_SVG?"data:image/png;base64,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": +"underline");try{return p.innerHTML=f,t.textContent=p.value,t}catch(Ea){return n.apply(this,arguments)}}else return n.apply(this,arguments)};c=this.backgroundImage;null!=c&&(e=k/b,b=this.view.translate,e=new mxRectangle(b.x*e,b.y*e,c.width*e,c.height*e),mxUtils.intersects(d,e)&&l.image(b.x,b.y,c.width,c.height,c.src,!0));l.scale(a);l.textEnabled=g;h=null!=h?h:this.createSvgImageExport();var G=h.drawCellState;h.drawCellState=function(a,b){(f||a.view.graph.isCellSelected(a.cell))&&G.apply(this,arguments)}; +h.drawState(this.getView().getState(this.model.root),l);return m};Graph.prototype.createSvgCanvas=function(a){return new mxSvgCanvas2D(a)};Graph.prototype.getSelectedElement=function(){var a=null;if(window.getSelection){var b=window.getSelection();b.getRangeAt&&b.rangeCount&&(a=b.getRangeAt(0).commonAncestorContainer)}else document.selection&&(a=document.selection.createRange().parentElement());return a};Graph.prototype.getParentByName=function(a,b,c){for(;null!=a&&a.nodeName!=b;){if(a==c)return null; +a=a.parentNode}return a};Graph.prototype.selectNode=function(a){var b=null;if(window.getSelection){if(b=window.getSelection(),b.getRangeAt&&b.rangeCount){var c=document.createRange();c.selectNode(a);b.removeAllRanges();b.addRange(c)}}else(b=document.selection)&&"Control"!=b.type&&(a=b.createRange(),a.collapse(!0),c=b.createRange(),c.setEndPoint("StartToStart",a),c.select())};Graph.prototype.insertRow=function(a,b){for(var c=a.tBodies[0],d=0b&&c[d].deleteCell(b)};Graph.prototype.pasteHtmlAtCaret=function(a){var b;if(window.getSelection){if(b=window.getSelection(),b.getRangeAt&&b.rangeCount){b=b.getRangeAt(0);b.deleteContents();var c=document.createElement("div");c.innerHTML=a;a=document.createDocumentFragment();for(var d;d=c.firstChild;)lastNode=a.appendChild(d);b.insertNode(a)}}else(b=document.selection)&&"Control"!=b.type&&b.createRange().pasteHTML(a)};Graph.prototype.createLinkForHint= +function(a,b){b=null!=b?b:a;var c=document.createElement("a");c.setAttribute("href",this.getAbsoluteUrl(a));c.setAttribute("title",a);null!=this.linkTarget&&c.setAttribute("target",this.linkTarget);40"):h,!0);this.textarea.className="mxCellEditor geContentEditable";var d=mxUtils.getValue(a.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),b=mxUtils.getValue(a.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),e=mxUtils.getValue(a.style, +mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),f=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,g=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,a=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT; +this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.textDecoration=a?"underline":"";this.textarea.style.fontWeight=f?"bold":"normal";this.textarea.style.fontStyle=g?"italic":"";this.textarea.style.fontFamily=b;this.textarea.style.textAlign=e;this.textarea.style.padding="0px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0
"));h=this.graph.sanitizeHtml(b?h.replace(/\n/g,"").replace(/<br\s*.?>/g,"
"):h,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var d=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT? +Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.padding="2px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState); +this.switchSelectionState=c;this.resize()};var k=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(a,b){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=a){var c=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*c;this.bounds.height=60*c;var d=null!=a.text?a.text.margin:null;null==d&&(d=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN, +mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=d.x*this.bounds.width;this.bounds.y+=d.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/c)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/c)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight"));return c=this.graph.sanitizeHtml(c,!0)}; +mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var b=this.graph.sanitizeHtml(this.textarea.innerHTML,!0);return b="1"==mxUtils.getValue(a.style,"nl2Br","1")?b.replace(/\r\n/g,"
").replace(/\n/g,"
"):b.replace(/\r\n/g,"").replace(/\n/g,"")};var l=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&& +this.toggleViewMode();l.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(G){}};var m=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,b){this.graph.getModel().beginUpdate();try{if(m.apply(this,arguments),this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)){var c=mxUtils.getValue(a.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),d=mxUtils.getValue(a.style, +mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);""==b&&c==mxConstants.NONE&&d==mxConstants.NONE&&this.graph.removeCells([a.cell],!1)}}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var b=null;if(this.graph.getModel().isEdge(a.cell)||this.graph.getModel().isEdge(this.graph.getModel().getParent(a.cell)))b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null),b==mxConstants.NONE&&(b=null);return b};mxCellEditor.prototype.getMinimumSize= +function(a){var b=this.graph.getView().scale;return new mxRectangle(0,0,null==a.text?30:a.text.size*b+20,30)};var p=mxGraphHandler.prototype.moveCells;mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,f){mxEvent.isAltDown(f)&&(e=null);p.apply(this,arguments)};mxGraphHandler.prototype.updateHint=function(b){if(null!=this.shape){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var c=this.graph.view.translate,d=this.graph.view.scale;b=this.roundLength((this.bounds.x+this.currentDx)/ +d-c.x);c=this.roundLength((this.bounds.y+this.currentDy)/d-c.y);this.hint.innerHTML=b+", "+c;this.hint.style.left=this.shape.bounds.x+Math.round((this.shape.bounds.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=this.shape.bounds.y+this.shape.bounds.height+12+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(this.hint.parentNode.removeChild(this.hint),this.hint=null)};mxVertexHandler.prototype.isRecursiveResize=function(a,b){return!this.graph.isSwimlane(a.cell)&&0'):new mxImage(IMAGE_PATH+"/handle-main.png",17,17);HoverIcons.prototype.secondaryHandle=mxClient.IS_SVG?Graph.createSvgImage(16,16,''):new mxImage(IMAGE_PATH+"/handle-secondary.png", +17,17);HoverIcons.prototype.fixedHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,''):new mxImage(IMAGE_PATH+"/handle-fixed.png",17,17);HoverIcons.prototype.terminalHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,''):new mxImage(IMAGE_PATH+ +"/handle-terminal.png",17,17);HoverIcons.prototype.rotationHandle=new mxImage(mxClient.IS_SVG?"data:image/png;base64,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": IMAGE_PATH+"/handle-rotate.png",19,21);mxClient.IS_SVG&&(mxConstraintHandler.prototype.pointImage=Graph.createSvgImage(5,5,''));mxVertexHandler.prototype.handleImage=HoverIcons.prototype.mainHandle;mxVertexHandler.prototype.secondaryHandleImage=HoverIcons.prototype.secondaryHandle;mxEdgeHandler.prototype.handleImage=HoverIcons.prototype.mainHandle;mxEdgeHandler.prototype.terminalHandleImage=HoverIcons.prototype.terminalHandle;mxEdgeHandler.prototype.fixedHandleImage= HoverIcons.prototype.fixedHandle;mxEdgeHandler.prototype.labelHandleImage=HoverIcons.prototype.secondaryHandle;mxOutline.prototype.sizerImage=HoverIcons.prototype.mainHandle;null!=window.Sidebar&&(Sidebar.prototype.triangleUp=HoverIcons.prototype.triangleUp,Sidebar.prototype.triangleRight=HoverIcons.prototype.triangleRight,Sidebar.prototype.triangleDown=HoverIcons.prototype.triangleDown,Sidebar.prototype.triangleLeft=HoverIcons.prototype.triangleLeft,Sidebar.prototype.refreshTarget=HoverIcons.prototype.refreshTarget, Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxClient.IS_SVG||((new Image).src=HoverIcons.prototype.mainHandle.src,(new Image).src=HoverIcons.prototype.fixedHandle.src,(new Image).src=HoverIcons.prototype.terminalHandle.src,(new Image).src=HoverIcons.prototype.secondaryHandle.src,(new Image).src=HoverIcons.prototype.rotationHandle.src,(new Image).src=HoverIcons.prototype.triangleUp.src,(new Image).src=HoverIcons.prototype.triangleRight.src,(new Image).src=HoverIcons.prototype.triangleDown.src, @@ -2588,9 +2589,9 @@ arguments)};var r=(new Date).getTime(),w=0,v=mxEdgeHandler.prototype.updatePrevi "0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&u.apply(this,arguments)};mxVertexHandler.prototype.isCustomHandleEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.createHandleShape=function(a,b){var c=null!=a&&0==a,d=this.state.getVisibleTerminalState(c),e=null!=a&&(0==a||a>=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==a)?this.graph.getConnectionConstraint(this.state,d,c):null,c=null!=(null!=e?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(c), e):null)?this.fixedHandleImage:null!=e&&null!=d?this.terminalHandleImage:this.handleImage;if(null!=c)return c=new mxImageShape(new mxRectangle(0,0,c.width,c.height),c.src),c.preserveImageAspect=!1,c;c=mxConstants.HANDLE_SIZE;this.preferHtml&&--c;return new mxRectangleShape(new mxRectangle(0,0,c,c),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var z=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(a,b,c){this.handleImage=b==mxEvent.ROTATION_HANDLE? HoverIcons.prototype.rotationHandle:b==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:this.handleImage;return z.apply(this,arguments)};var x=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(a){if(null!=a&&1==a.length){var b=this.graph.getModel(),c=b.getParent(a[0]),d=this.graph.getCellGeometry(a[0]);if(b.isEdge(c)&&null!=d&&d.relative&&(b=this.graph.view.getState(a[0]),null!=b&&2>b.width&&2>b.height&&null!=b.text&&null!=b.text.boundingBox))return mxRectangle.fromRectangle(b.text.boundingBox)}return x.apply(this, -arguments)};var D=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var b=this.graph.getModel(),c=b.getParent(a.cell),d=this.graph.getCellGeometry(a.cell);return b.isEdge(c)&&null!=d&&d.relative&&2>a.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox?(b=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(b.x),Math.round(b.y),Math.round(b.width),Math.round(b.height))):D.apply(this,arguments)};var A=mxVertexHandler.prototype.mouseDown; +arguments)};var C=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var b=this.graph.getModel(),c=b.getParent(a.cell),d=this.graph.getCellGeometry(a.cell);return b.isEdge(c)&&null!=d&&d.relative&&2>a.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox?(b=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(b.x),Math.round(b.y),Math.round(b.width),Math.round(b.height))):C.apply(this,arguments)};var A=mxVertexHandler.prototype.mouseDown; mxVertexHandler.prototype.mouseDown=function(a,b){var c=this.graph.getModel(),d=c.getParent(this.state.cell),e=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(b)==mxEvent.ROTATION_HANDLE||!c.isEdge(d)||null==e||!e.relative||null==this.state||2<=this.state.width||2<=this.state.height)&&A.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells|| -this.graph.getSelectionCount()';if(mxClient.IS_QUIRKS||8==document.documentMode)n.firstChild.style.margin="0px";null!=a&&a!=mxConstants.NONE?(h.setAttribute("checked","checked"),h.defaultChecked=!0,h.checked=!0):(h.removeAttribute("checked"),h.defaultChecked=!1,h.checked=!1);n.style.display=h.checked||k?"":"none";null!=e&&e(a);f||(p=a,(g||k||c()!=p)&& -d(p));m=!1}},n=mxUtils.button("",mxUtils.bind(this,function(a){this.editorUi.pickColor(p,function(a){q(a,null,!0)});mxEvent.consume(a)}));n.style.position="absolute";n.style.marginTop="-4px";n.style.right=mxClient.IS_QUIRKS?"0px":"20px";n.style.height="22px";n.className="geColorBtn";n.style.display=h.checked||k?"":"none";g.appendChild(n);mxEvent.addListener(g,"click",function(a){a=mxEvent.getSource(a);if(a==h||"INPUT"!=a.nodeName)a!=h&&(h.checked=!h.checked),h.checked||null==p||p==mxConstants.NONE|| -b==mxConstants.NONE||(b=p),q(h.checked?b:mxConstants.NONE)});q(p,!0);null!=f&&(f.install(q),this.listeners.push(f));return g}; -BaseFormatPanel.prototype.createCellColorOption=function(a,c,d,b,f){var e=this.editorUi,k=e.editor.graph;return this.createColorOption(a,function(){var a=k.view.getState(k.getSelectionCell());return null!=a?mxUtils.getValue(a.style,c,null):null},function(a){k.getModel().beginUpdate();try{null!=f&&f(a),k.setCellStyles(c,a,k.getSelectionCells()),e.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[a],"cells",k.getSelectionCells()))}finally{k.getModel().endUpdate()}},d||mxConstants.NONE, -{install:function(a){this.listener=function(){var b=k.view.getState(k.getSelectionCell());null!=b&&a(mxUtils.getValue(b.style,c,null))};k.getModel().addListener(mxEvent.CHANGE,this.listener)},destroy:function(){k.getModel().removeListener(this.listener)}},b)}; +BaseFormatPanel.prototype.createColorOption=function(a,c,d,b,f,e,h){var g=document.createElement("div");g.style.padding="6px 0px 1px 0px";g.style.whiteSpace="nowrap";g.style.overflow="hidden";g.style.width="200px";g.style.height=mxClient.IS_QUIRKS?"27px":"18px";var k=document.createElement("input");k.setAttribute("type","checkbox");k.style.margin="0px 6px 0px 0px";h||g.appendChild(k);var l=document.createElement("span");mxUtils.write(l,a);g.appendChild(l);var m=!1,p=c(),n=null,q=function(a,f,g){if(!m){m= +!0;n.innerHTML='
';if(mxClient.IS_QUIRKS||8==document.documentMode)n.firstChild.style.margin="0px";null!=a&&a!=mxConstants.NONE?(k.setAttribute("checked","checked"),k.defaultChecked=!0,k.checked=!0):(k.removeAttribute("checked"),k.defaultChecked=!1,k.checked=!1);n.style.display=k.checked||h?"":"none";null!=e&&e(a);f||(p=a,(g||h||c()!=p)&& +d(p));m=!1}},n=mxUtils.button("",mxUtils.bind(this,function(a){this.editorUi.pickColor(p,function(a){q(a,null,!0)});mxEvent.consume(a)}));n.style.position="absolute";n.style.marginTop="-4px";n.style.right=mxClient.IS_QUIRKS?"0px":"20px";n.style.height="22px";n.className="geColorBtn";n.style.display=k.checked||h?"":"none";g.appendChild(n);mxEvent.addListener(g,"click",function(a){a=mxEvent.getSource(a);if(a==k||"INPUT"!=a.nodeName)a!=k&&(k.checked=!k.checked),k.checked||null==p||p==mxConstants.NONE|| +b==mxConstants.NONE||(b=p),q(k.checked?b:mxConstants.NONE)});q(p,!0);null!=f&&(f.install(q),this.listeners.push(f));return g}; +BaseFormatPanel.prototype.createCellColorOption=function(a,c,d,b,f){var e=this.editorUi,h=e.editor.graph;return this.createColorOption(a,function(){var a=h.view.getState(h.getSelectionCell());return null!=a?mxUtils.getValue(a.style,c,null):null},function(a){h.getModel().beginUpdate();try{null!=f&&f(a),h.setCellStyles(c,a,h.getSelectionCells()),e.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[a],"cells",h.getSelectionCells()))}finally{h.getModel().endUpdate()}},d||mxConstants.NONE, +{install:function(a){this.listener=function(){var b=h.view.getState(h.getSelectionCell());null!=b&&a(mxUtils.getValue(b.style,c,null))};h.getModel().addListener(mxEvent.CHANGE,this.listener)},destroy:function(){h.getModel().removeListener(this.listener)}},b)}; BaseFormatPanel.prototype.addArrow=function(a,c){c=null!=c?c:10;var d=document.createElement("div");d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";d.style.padding="6px";d.style.paddingRight="4px";var b=10-c;2==b?d.style.paddingTop="6px":0';mxUtils.setOpacity(d,70);b=a.getElementsByTagName("div")[0];null!=b&&(b.style.paddingRight="6px",b.style.marginLeft="4px",b.style.marginTop="-1px",b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",mxUtils.setOpacity(b,60));mxUtils.setOpacity(a,100);a.style.border="1px solid #a0a0a0";a.style.backgroundColor=this.buttonBackgroundColor;a.style.backgroundImage="none";a.style.width="auto";a.className+=" geColorBtn";mxUtils.setPrefixedStyle(a.style, -"borderRadius","3px");a.appendChild(d);return b};BaseFormatPanel.prototype.addUnitInput=function(a,c,d,b,f,e,k,g){k=null!=k?k:0;c=document.createElement("input");c.style.position="absolute";c.style.textAlign="right";c.style.marginTop="-2px";c.style.right=d+12+"px";c.style.width=b+"px";a.appendChild(c);b=this.createStepper(c,f,e,null,g);b.style.marginTop=k-2+"px";b.style.right=d+"px";a.appendChild(b);return c}; -BaseFormatPanel.prototype.createRelativeOption=function(a,c,d,b,f){function e(a){if(null!=b)b(h);else{var d=parseInt(h.value),d=Math.min(100,Math.max(0,isNaN(d)?100:d)),e=k.view.getState(k.getSelectionCell());null!=e&&d!=mxUtils.getValue(e.style,c,100)&&(100==d&&(d=null),k.setCellStyles(c,d,k.getSelectionCells()));h.value=(null!=d?d:"100")+" %"}mxEvent.consume(a)}d=null!=d?d:44;var k=this.editorUi.editor.graph,g=this.createPanel();g.style.paddingTop="10px";g.style.paddingBottom="10px";mxUtils.write(g, -a);g.style.fontWeight="bold";var h=this.addUnitInput(g,"%",20,d,e,10,-15,null!=b);if(null!=c){var l=mxUtils.bind(this,function(a,b,d){if(d||h!=document.activeElement)a=this.format.getSelectionState(),a=parseInt(mxUtils.getValue(a.style,c,100)),h.value=isNaN(a)?"":a+" %"});mxEvent.addListener(h,"keydown",function(a){13==a.keyCode?(k.container.focus(),mxEvent.consume(a)):27==a.keyCode&&(l(null,null,!0),k.container.focus(),mxEvent.consume(a))});k.getModel().addListener(mxEvent.CHANGE,l);this.listeners.push({destroy:function(){k.getModel().removeListener(l)}}); -l()}mxEvent.addListener(h,"blur",e);mxEvent.addListener(h,"change",e);null!=f&&f(h);return g};BaseFormatPanel.prototype.addLabel=function(a,c,d,b){b=null!=b?b:61;var f=document.createElement("div");mxUtils.write(f,c);f.style.position="absolute";f.style.right=d+"px";f.style.width=b+"px";f.style.marginTop="6px";f.style.textAlign="center";a.appendChild(f)}; +"borderRadius","3px");a.appendChild(d);return b};BaseFormatPanel.prototype.addUnitInput=function(a,c,d,b,f,e,h,g){h=null!=h?h:0;c=document.createElement("input");c.style.position="absolute";c.style.textAlign="right";c.style.marginTop="-2px";c.style.right=d+12+"px";c.style.width=b+"px";a.appendChild(c);b=this.createStepper(c,f,e,null,g);b.style.marginTop=h-2+"px";b.style.right=d+"px";a.appendChild(b);return c}; +BaseFormatPanel.prototype.createRelativeOption=function(a,c,d,b,f){function e(a){if(null!=b)b(k);else{var d=parseInt(k.value),d=Math.min(100,Math.max(0,isNaN(d)?100:d)),e=h.view.getState(h.getSelectionCell());null!=e&&d!=mxUtils.getValue(e.style,c,100)&&(100==d&&(d=null),h.setCellStyles(c,d,h.getSelectionCells()));k.value=(null!=d?d:"100")+" %"}mxEvent.consume(a)}d=null!=d?d:44;var h=this.editorUi.editor.graph,g=this.createPanel();g.style.paddingTop="10px";g.style.paddingBottom="10px";mxUtils.write(g, +a);g.style.fontWeight="bold";var k=this.addUnitInput(g,"%",20,d,e,10,-15,null!=b);if(null!=c){var l=mxUtils.bind(this,function(a,b,d){if(d||k!=document.activeElement)a=this.format.getSelectionState(),a=parseInt(mxUtils.getValue(a.style,c,100)),k.value=isNaN(a)?"":a+" %"});mxEvent.addListener(k,"keydown",function(a){13==a.keyCode?(h.container.focus(),mxEvent.consume(a)):27==a.keyCode&&(l(null,null,!0),h.container.focus(),mxEvent.consume(a))});h.getModel().addListener(mxEvent.CHANGE,l);this.listeners.push({destroy:function(){h.getModel().removeListener(l)}}); +l()}mxEvent.addListener(k,"blur",e);mxEvent.addListener(k,"change",e);null!=f&&f(k);return g};BaseFormatPanel.prototype.addLabel=function(a,c,d,b){b=null!=b?b:61;var f=document.createElement("div");mxUtils.write(f,c);f.style.position="absolute";f.style.right=d+"px";f.style.width=b+"px";f.style.marginTop="6px";f.style.textAlign="center";a.appendChild(f)}; BaseFormatPanel.prototype.addKeyHandler=function(a,c){mxEvent.addListener(a,"keydown",mxUtils.bind(this,function(a){13==a.keyCode?(this.editorUi.editor.graph.container.focus(),mxEvent.consume(a)):27==a.keyCode&&(null!=c&&c(null,null,!0),this.editorUi.editor.graph.container.focus(),mxEvent.consume(a))}))}; BaseFormatPanel.prototype.styleButtons=function(a){for(var c=0;cdocument.documentMode)?a.style.filter=b?"progid:DXImageTransform.Microsoft.Gradient(StartColorStr='#c5ecff', EndColorStr='#87d4fb', GradientType=0)":"":a.style.backgroundImage=b?"linear-gradient(#c5ecff 0px,#87d4fb 100%)":""}var d=this.editorUi,b=d.editor.graph,f=this.format.getSelectionState(),e=this.createTitle(mxResources.get("font"));e.style.paddingLeft="18px";e.style.paddingTop="10px";e.style.paddingBottom= -"6px";a.appendChild(e);e=this.createPanel();e.style.paddingTop="2px";e.style.paddingBottom="2px";e.style.position="relative";e.style.marginLeft="-2px";e.style.borderWidth="0px";e.className="geToolbarContainer";mxClient.IS_QUIRKS&&(e.style.display="block");if(b.cellEditor.isContentEditing()){var k=e.cloneNode(),g=this.editorUi.toolbar.addMenu(mxResources.get("style"),mxResources.get("style"),!0,"formatBlock",k);g.style.color="rgb(112, 112, 112)";g.style.whiteSpace="nowrap";g.style.overflow="hidden"; -g.style.margin="0px";this.addArrow(g);g.style.width="192px";g.style.height="15px";var h=g.getElementsByTagName("div")[0];h.style.cssFloat="right";a.appendChild(k);mxClient.IS_FF&&(g.getElementsByTagName("div")[0].style.marginTop="-18px")}a.appendChild(e);k=this.createPanel();k.style.marginTop="8px";k.style.borderTop="1px solid #c0c0c0";k.style.paddingTop="6px";k.style.paddingBottom="6px";var l=this.editorUi.toolbar.addMenu("Helvetica",mxResources.get("fontFamily"),!0,"fontFamily",e);l.style.color= -"rgb(112, 112, 112)";l.style.whiteSpace="nowrap";l.style.overflow="hidden";l.style.margin="0px";this.addArrow(l);l.style.width="192px";l.style.height="15px";mxClient.IS_FF&&(l.getElementsByTagName("div")[0].style.marginTop="-18px");h=e.cloneNode(!1);h.style.marginLeft="-3px";var m=this.editorUi.toolbar.addItems(["bold","italic","underline"],h,!0);m[0].setAttribute("title",mxResources.get("bold")+" ("+this.editorUi.actions.get("bold").shortcut+")");m[1].setAttribute("title",mxResources.get("italic")+ -" ("+this.editorUi.actions.get("italic").shortcut+")");m[2].setAttribute("title",mxResources.get("underline")+" ("+this.editorUi.actions.get("underline").shortcut+")");var p=this.editorUi.toolbar.addItems(["vertical"],h,!0)[0];mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(h);this.styleButtons(m);this.styleButtons([p]);g=e.cloneNode(!1);g.style.marginLeft="-3px";g.style.paddingBottom="0px";var n=function(a){return function(){return a()}},q=this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"), +"6px";a.appendChild(e);e=this.createPanel();e.style.paddingTop="2px";e.style.paddingBottom="2px";e.style.position="relative";e.style.marginLeft="-2px";e.style.borderWidth="0px";e.className="geToolbarContainer";mxClient.IS_QUIRKS&&(e.style.display="block");if(b.cellEditor.isContentEditing()){var h=e.cloneNode(),g=this.editorUi.toolbar.addMenu(mxResources.get("style"),mxResources.get("style"),!0,"formatBlock",h);g.style.color="rgb(112, 112, 112)";g.style.whiteSpace="nowrap";g.style.overflow="hidden"; +g.style.margin="0px";this.addArrow(g);g.style.width="192px";g.style.height="15px";var k=g.getElementsByTagName("div")[0];k.style.cssFloat="right";a.appendChild(h);mxClient.IS_FF&&(g.getElementsByTagName("div")[0].style.marginTop="-18px")}a.appendChild(e);h=this.createPanel();h.style.marginTop="8px";h.style.borderTop="1px solid #c0c0c0";h.style.paddingTop="6px";h.style.paddingBottom="6px";var l=this.editorUi.toolbar.addMenu("Helvetica",mxResources.get("fontFamily"),!0,"fontFamily",e);l.style.color= +"rgb(112, 112, 112)";l.style.whiteSpace="nowrap";l.style.overflow="hidden";l.style.margin="0px";this.addArrow(l);l.style.width="192px";l.style.height="15px";mxClient.IS_FF&&(l.getElementsByTagName("div")[0].style.marginTop="-18px");k=e.cloneNode(!1);k.style.marginLeft="-3px";var m=this.editorUi.toolbar.addItems(["bold","italic","underline"],k,!0);m[0].setAttribute("title",mxResources.get("bold")+" ("+this.editorUi.actions.get("bold").shortcut+")");m[1].setAttribute("title",mxResources.get("italic")+ +" ("+this.editorUi.actions.get("italic").shortcut+")");m[2].setAttribute("title",mxResources.get("underline")+" ("+this.editorUi.actions.get("underline").shortcut+")");var p=this.editorUi.toolbar.addItems(["vertical"],k,!0)[0];mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(k);this.styleButtons(m);this.styleButtons([p]);g=e.cloneNode(!1);g.style.marginLeft="-3px";g.style.paddingBottom="0px";var n=function(a){return function(){return a()}},q=this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"), b.cellEditor.isContentEditing()?function(){document.execCommand("justifyleft",!1,null)}:n(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_LEFT])),g),t=this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),b.cellEditor.isContentEditing()?function(){document.execCommand("justifycenter",!1,null)}:n(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_CENTER])),g),r=this.editorUi.toolbar.addButton("geSprite-right", -mxResources.get("right"),b.cellEditor.isContentEditing()?function(){document.execCommand("justifyright",!1,null)}:n(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_RIGHT])),g);this.styleButtons([q,t,r]);if(b.cellEditor.isContentEditing()){var w=this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("removeFormat"),function(){document.execCommand("removeformat",!1,null)},h);this.styleButtons([w])}var v=this.editorUi.toolbar.addButton("geSprite-top", +mxResources.get("right"),b.cellEditor.isContentEditing()?function(){document.execCommand("justifyright",!1,null)}:n(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_RIGHT])),g);this.styleButtons([q,t,r]);if(b.cellEditor.isContentEditing()){var w=this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("removeFormat"),function(){document.execCommand("removeformat",!1,null)},k);this.styleButtons([w])}var v=this.editorUi.toolbar.addButton("geSprite-top", mxResources.get("top"),n(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_TOP])),g),u=this.editorUi.toolbar.addButton("geSprite-middle",mxResources.get("middle"),n(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_MIDDLE])),g),z=this.editorUi.toolbar.addButton("geSprite-bottom",mxResources.get("bottom"),n(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_BOTTOM])), -g);this.styleButtons([v,u,z]);mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(g);var x,D,A,C,B,L,K;b.cellEditor.isContentEditing()?(v.style.display="none",u.style.display="none",z.style.display="none",p.style.display="none",A=this.editorUi.toolbar.addButton("geSprite-justifyfull",null,function(){document.execCommand("justifyfull",!1,null)},g),this.styleButtons([A,x=this.editorUi.toolbar.addButton("geSprite-subscript",mxResources.get("subscript")+" ("+Editor.ctrlKey+"+,)",function(){document.execCommand("subscript", -!1,null)},g),D=this.editorUi.toolbar.addButton("geSprite-superscript",mxResources.get("superscript")+" ("+Editor.ctrlKey+"+.)",function(){document.execCommand("superscript",!1,null)},g)]),A.style.marginRight="9px",n=g.cloneNode(!1),n.style.paddingTop="4px",g=[this.editorUi.toolbar.addButton("geSprite-orderedlist",mxResources.get("numberedList"),function(){document.execCommand("insertorderedlist",!1,null)},n),this.editorUi.toolbar.addButton("geSprite-unorderedlist",mxResources.get("bulletedList"), +g);this.styleButtons([v,u,z]);mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(g);var x,C,A,D,B,L,K;b.cellEditor.isContentEditing()?(v.style.display="none",u.style.display="none",z.style.display="none",p.style.display="none",A=this.editorUi.toolbar.addButton("geSprite-justifyfull",null,function(){document.execCommand("justifyfull",!1,null)},g),this.styleButtons([A,x=this.editorUi.toolbar.addButton("geSprite-subscript",mxResources.get("subscript")+" ("+Editor.ctrlKey+"+,)",function(){document.execCommand("subscript", +!1,null)},g),C=this.editorUi.toolbar.addButton("geSprite-superscript",mxResources.get("superscript")+" ("+Editor.ctrlKey+"+.)",function(){document.execCommand("superscript",!1,null)},g)]),A.style.marginRight="9px",n=g.cloneNode(!1),n.style.paddingTop="4px",g=[this.editorUi.toolbar.addButton("geSprite-orderedlist",mxResources.get("numberedList"),function(){document.execCommand("insertorderedlist",!1,null)},n),this.editorUi.toolbar.addButton("geSprite-unorderedlist",mxResources.get("bulletedList"), function(){document.execCommand("insertunorderedlist",!1,null)},n),this.editorUi.toolbar.addButton("geSprite-outdent",mxResources.get("decreaseIndent"),function(){document.execCommand("outdent",!1,null)},n),this.editorUi.toolbar.addButton("geSprite-indent",mxResources.get("increaseIndent"),function(){document.execCommand("indent",!1,null)},n),this.editorUi.toolbar.addButton("geSprite-code",mxResources.get("html"),function(){b.cellEditor.toggleViewMode()},n)],this.styleButtons(g),g[g.length-1].style.marginLeft= "9px",mxClient.IS_QUIRKS&&(mxUtils.br(a),n.style.height="40"),a.appendChild(n)):(m[2].style.marginRight="9px",r.style.marginRight="9px");g=e.cloneNode(!1);g.style.marginLeft="0px";g.style.paddingTop="8px";g.style.paddingBottom="4px";g.style.fontWeight="normal";mxUtils.write(g,mxResources.get("position"));var I=document.createElement("select");I.style.position="absolute";I.style.right="20px";I.style.width="97px";I.style.marginTop="-2px";for(var w="topLeft top topRight left center right bottomLeft bottom bottomRight".split(" "), E={topLeft:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM],top:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM],topRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_BOTTOM],left:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE],center:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_CENTER, @@ -2705,64 +2706,64 @@ mxConstants.ALIGN_MIDDLE],right:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDL J.setAttribute("value",w[n]);mxUtils.write(J,mxResources.get(w[n]));I.appendChild(J)}g.appendChild(I);w=e.cloneNode(!1);w.style.marginLeft="0px";w.style.paddingTop="4px";w.style.paddingBottom="4px";w.style.fontWeight="normal";mxUtils.write(w,mxResources.get("writingDirection"));var N=document.createElement("select");N.style.position="absolute";N.style.right="20px";N.style.width="97px";N.style.marginTop="-2px";for(var J=["automatic","leftToRight","rightToLeft"],Q={automatic:null,leftToRight:mxConstants.TEXT_DIRECTION_LTR, rightToLeft:mxConstants.TEXT_DIRECTION_RTL},n=0;n"+b.cellEditor.textarea.innerHTML+"

"),d=b.cellEditor.textarea.firstChild);null!=d&&d!=b.cellEditor.textarea&& -(d.style.lineHeight=c+"%");a.value=c+" %"},function(a){ma=a;mxEvent.addListener(a,"mousedown",function(){document.activeElement==b.cellEditor.textarea&&(ba=b.cellEditor.saveSelection())});mxEvent.addListener(a,"touchstart",function(){document.activeElement==b.cellEditor.textarea&&(ba=b.cellEditor.saveSelection())});a.value="120 %"}));k=e.cloneNode(!1);k.style.paddingLeft="0px";h=this.editorUi.toolbar.addItems(["link","image"],k,!0);g=[this.editorUi.toolbar.addButton("geSprite-horizontalrule",mxResources.get("insertHorizontalRule"), -function(){document.execCommand("inserthorizontalrule",!1)},k),this.editorUi.toolbar.addMenuFunctionInContainer(k,"geSprite-table",mxResources.get("table"),!1,mxUtils.bind(this,function(a){this.editorUi.menus.addInsertTableItem(a)}))];this.styleButtons(h);this.styleButtons(g);h=this.createPanel();h.style.paddingTop="10px";h.style.paddingBottom="10px";h.appendChild(this.createTitle(mxResources.get("insert")));h.appendChild(k);a.appendChild(h);mxClient.IS_QUIRKS&&(h.style.height="70");h=e.cloneNode(!1); -h.style.paddingLeft="0px";g=[this.editorUi.toolbar.addButton("geSprite-insertcolumnbefore",mxResources.get("insertColumnBefore"),function(){try{null!=B&&b.selectNode(b.insertColumn(B,null!=L?L.cellIndex:0))}catch(S){alert(S)}},h),this.editorUi.toolbar.addButton("geSprite-insertcolumnafter",mxResources.get("insertColumnAfter"),function(){try{null!=B&&b.selectNode(b.insertColumn(B,null!=L?L.cellIndex+1:-1))}catch(S){alert(S)}},h),this.editorUi.toolbar.addButton("geSprite-deletecolumn",mxResources.get("deleteColumn"), -function(){try{null!=B&&null!=L&&b.deleteColumn(B,L.cellIndex)}catch(S){alert(S)}},h),this.editorUi.toolbar.addButton("geSprite-insertrowbefore",mxResources.get("insertRowBefore"),function(){try{null!=B&&null!=K&&b.selectNode(b.insertRow(B,K.sectionRowIndex))}catch(S){alert(S)}},h),this.editorUi.toolbar.addButton("geSprite-insertrowafter",mxResources.get("insertRowAfter"),function(){try{null!=B&&null!=K&&b.selectNode(b.insertRow(B,K.sectionRowIndex+1))}catch(S){alert(S)}},h),this.editorUi.toolbar.addButton("geSprite-deleterow", -mxResources.get("deleteRow"),function(){try{null!=B&&null!=K&&b.deleteRow(B,K.sectionRowIndex)}catch(S){alert(S)}},h)];this.styleButtons(g);g[2].style.marginRight="9px";k=this.createPanel();k.style.paddingTop="10px";k.style.paddingBottom="10px";k.appendChild(this.createTitle(mxResources.get("table")));k.appendChild(h);mxClient.IS_QUIRKS&&(mxUtils.br(a),k.style.height="70");e=e.cloneNode(!1);e.style.paddingLeft="0px";g=[this.editorUi.toolbar.addButton("geSprite-strokecolor",mxResources.get("borderColor"), +(d.style.lineHeight=c+"%");a.value=c+" %"},function(a){la=a;mxEvent.addListener(a,"mousedown",function(){document.activeElement==b.cellEditor.textarea&&(ba=b.cellEditor.saveSelection())});mxEvent.addListener(a,"touchstart",function(){document.activeElement==b.cellEditor.textarea&&(ba=b.cellEditor.saveSelection())});a.value="120 %"}));h=e.cloneNode(!1);h.style.paddingLeft="0px";k=this.editorUi.toolbar.addItems(["link","image"],h,!0);g=[this.editorUi.toolbar.addButton("geSprite-horizontalrule",mxResources.get("insertHorizontalRule"), +function(){document.execCommand("inserthorizontalrule",!1)},h),this.editorUi.toolbar.addMenuFunctionInContainer(h,"geSprite-table",mxResources.get("table"),!1,mxUtils.bind(this,function(a){this.editorUi.menus.addInsertTableItem(a)}))];this.styleButtons(k);this.styleButtons(g);k=this.createPanel();k.style.paddingTop="10px";k.style.paddingBottom="10px";k.appendChild(this.createTitle(mxResources.get("insert")));k.appendChild(h);a.appendChild(k);mxClient.IS_QUIRKS&&(k.style.height="70");k=e.cloneNode(!1); +k.style.paddingLeft="0px";g=[this.editorUi.toolbar.addButton("geSprite-insertcolumnbefore",mxResources.get("insertColumnBefore"),function(){try{null!=B&&b.selectNode(b.insertColumn(B,null!=L?L.cellIndex:0))}catch(S){alert(S)}},k),this.editorUi.toolbar.addButton("geSprite-insertcolumnafter",mxResources.get("insertColumnAfter"),function(){try{null!=B&&b.selectNode(b.insertColumn(B,null!=L?L.cellIndex+1:-1))}catch(S){alert(S)}},k),this.editorUi.toolbar.addButton("geSprite-deletecolumn",mxResources.get("deleteColumn"), +function(){try{null!=B&&null!=L&&b.deleteColumn(B,L.cellIndex)}catch(S){alert(S)}},k),this.editorUi.toolbar.addButton("geSprite-insertrowbefore",mxResources.get("insertRowBefore"),function(){try{null!=B&&null!=K&&b.selectNode(b.insertRow(B,K.sectionRowIndex))}catch(S){alert(S)}},k),this.editorUi.toolbar.addButton("geSprite-insertrowafter",mxResources.get("insertRowAfter"),function(){try{null!=B&&null!=K&&b.selectNode(b.insertRow(B,K.sectionRowIndex+1))}catch(S){alert(S)}},k),this.editorUi.toolbar.addButton("geSprite-deleterow", +mxResources.get("deleteRow"),function(){try{null!=B&&null!=K&&b.deleteRow(B,K.sectionRowIndex)}catch(S){alert(S)}},k)];this.styleButtons(g);g[2].style.marginRight="9px";h=this.createPanel();h.style.paddingTop="10px";h.style.paddingBottom="10px";h.appendChild(this.createTitle(mxResources.get("table")));h.appendChild(k);mxClient.IS_QUIRKS&&(mxUtils.br(a),h.style.height="70");e=e.cloneNode(!1);e.style.paddingLeft="0px";g=[this.editorUi.toolbar.addButton("geSprite-strokecolor",mxResources.get("borderColor"), mxUtils.bind(this,function(){if(null!=B){var a=B.style.borderColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(a,function(a){null==a||a==mxConstants.NONE?(B.removeAttribute("border"),B.style.border="",B.style.borderCollapse=""):(B.setAttribute("border","1"),B.style.border="1px solid "+a,B.style.borderCollapse="collapse")})}}), e),this.editorUi.toolbar.addButton("geSprite-fillcolor",mxResources.get("backgroundColor"),mxUtils.bind(this,function(){if(null!=B){var a=B.style.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(a,function(a){B.style.backgroundColor=null==a||a==mxConstants.NONE?"":a})}}),e),this.editorUi.toolbar.addButton("geSprite-fit", mxResources.get("spacing"),function(){if(null!=B){var a=B.getAttribute("cellPadding")||0,a=new FilenameDialog(d,a,mxResources.get("apply"),mxUtils.bind(this,function(a){null!=a&&0'+mxUtils.htmlEntities(mxResources.get("none"))+"";"connector"==e.style.shape||"filledEdge"==e.style.shape? (this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC,1],"geIcon geSprite geSprite-startclassic",null,!1).setAttribute("title",mxResources.get("classic")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC_THIN,1],"geIcon geSprite geSprite-startclassicthin",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_OPEN,0],"geIcon geSprite geSprite-startopen", null,!1).setAttribute("title",mxResources.get("openArrow")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_OPEN_THIN,0],"geIcon geSprite geSprite-startopenthin",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["openAsync",0],"geIcon geSprite geSprite-startopenasync",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_BLOCK,1],"geIcon geSprite geSprite-startblock", @@ -2774,7 +2775,7 @@ null,!1).setAttribute("title",mxResources.get("oval")),this.editorUi.menus.edgeS this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["dash",0],"geIcon geSprite geSprite-startdash",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["cross",0],"geIcon geSprite geSprite-startcross",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["circlePlus",0],"geIcon geSprite geSprite-startcircleplus",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW, "startFill"],["circle",1],"geIcon geSprite geSprite-startcircle",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERone",0],"geIcon geSprite geSprite-starterone",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERmandOne",0],"geIcon geSprite geSprite-starteronetoone",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERmany",0],"geIcon geSprite geSprite-startermany", null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERoneToMany",0],"geIcon geSprite geSprite-starteronetomany",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERzeroToOne",1],"geIcon geSprite geSprite-starteroneopt",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-startermanyopt",null,!1)):this.editorUi.menus.edgeStyleChange(a, -"",[mxConstants.STYLE_STARTARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-startblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}})),A=this.editorUi.toolbar.addMenuFunctionInContainer(h,"geSprite-endclassic",mxResources.get("lineend"),!1,mxUtils.bind(this,function(a){if("connector"==e.style.shape||"flexArrow"==e.style.shape||"filledEdge"==e.style.shape){var b=this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.NONE,0],"geIcon", +"",[mxConstants.STYLE_STARTARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-startblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}})),A=this.editorUi.toolbar.addMenuFunctionInContainer(k,"geSprite-endclassic",mxResources.get("lineend"),!1,mxUtils.bind(this,function(a){if("connector"==e.style.shape||"flexArrow"==e.style.shape||"filledEdge"==e.style.shape){var b=this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.NONE,0],"geIcon", null,!1);b.setAttribute("title",mxResources.get("none"));b.firstChild.firstChild.innerHTML=''+mxUtils.htmlEntities(mxResources.get("none"))+"";"connector"==e.style.shape||"filledEdge"==e.style.shape?(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC,1],"geIcon geSprite geSprite-endclassic",null,!1).setAttribute("title",mxResources.get("classic")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW, "endFill"],[mxConstants.ARROW_CLASSIC_THIN,1],"geIcon geSprite geSprite-endclassicthin",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OPEN,0],"geIcon geSprite geSprite-endopen",null,!1).setAttribute("title",mxResources.get("openArrow")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OPEN_THIN,0],"geIcon geSprite geSprite-endopenthin",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW, "endFill"],["openAsync",0],"geIcon geSprite geSprite-endopenasync",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK,1],"geIcon geSprite geSprite-endblock",null,!1).setAttribute("title",mxResources.get("block")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK_THIN,1],"geIcon geSprite geSprite-endblockthin",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW, @@ -2785,27 +2786,27 @@ null,!1);b.setAttribute("title",mxResources.get("none"));b.firstChild.firstChild "",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_DIAMOND_THIN,0],"geIcon geSprite geSprite-endthindiamondtrans",null,!1).setAttribute("title",mxResources.get("diamondThin")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["dash",0],"geIcon geSprite geSprite-enddash",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["cross",0],"geIcon geSprite geSprite-endcross",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW, "endFill"],["circlePlus",0],"geIcon geSprite geSprite-endcircleplus",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["circle",1],"geIcon geSprite geSprite-endcircle",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERone",0],"geIcon geSprite geSprite-enderone",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmandOne",0],"geIcon geSprite geSprite-enderonetoone",null,!1),this.editorUi.menus.edgeStyleChange(a, "",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmany",0],"geIcon geSprite geSprite-endermany",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERoneToMany",0],"geIcon geSprite geSprite-enderonetomany",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToOne",1],"geIcon geSprite geSprite-enderoneopt",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-endermanyopt", -null,!1)):this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}}));this.addArrow(r,8);this.addArrow(x);this.addArrow(D);this.addArrow(A);u=this.addArrow(l,9);u.className="geIcon";u.style.width="84px";z=this.addArrow(m,9);z.className="geIcon";z.style.width="22px";var C=document.createElement("div");C.style.width="85px";C.style.height="1px";C.style.borderBottom= -"1px solid "+this.defaultStrokeColor;C.style.marginBottom="9px";u.appendChild(C);var B=document.createElement("div");B.style.width="23px";B.style.height="1px";B.style.borderBottom="1px solid "+this.defaultStrokeColor;B.style.marginBottom="9px";z.appendChild(B);l.style.height="15px";m.style.height="15px";r.style.height="15px";x.style.height="17px";D.style.marginLeft="3px";D.style.height="17px";A.style.marginLeft="3px";A.style.height="17px";a.appendChild(k);a.appendChild(t);a.appendChild(n);l=n.cloneNode(!1); +null,!1)):this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}}));this.addArrow(r,8);this.addArrow(x);this.addArrow(C);this.addArrow(A);u=this.addArrow(l,9);u.className="geIcon";u.style.width="84px";z=this.addArrow(m,9);z.className="geIcon";z.style.width="22px";var D=document.createElement("div");D.style.width="85px";D.style.height="1px";D.style.borderBottom= +"1px solid "+this.defaultStrokeColor;D.style.marginBottom="9px";u.appendChild(D);var B=document.createElement("div");B.style.width="23px";B.style.height="1px";B.style.borderBottom="1px solid "+this.defaultStrokeColor;B.style.marginBottom="9px";z.appendChild(B);l.style.height="15px";m.style.height="15px";r.style.height="15px";x.style.height="17px";C.style.marginLeft="3px";C.style.height="17px";A.style.marginLeft="3px";A.style.height="17px";a.appendChild(h);a.appendChild(t);a.appendChild(n);l=n.cloneNode(!1); l.style.paddingBottom="6px";l.style.paddingTop="4px";l.style.fontWeight="normal";m=document.createElement("div");m.style.position="absolute";m.style.marginLeft="3px";m.style.marginBottom="12px";m.style.marginTop="2px";m.style.fontWeight="normal";m.style.width="76px";mxUtils.write(m,mxResources.get("lineend"));l.appendChild(m);var L,K,I=this.addUnitInput(l,"pt",74,33,function(){L.apply(this,arguments)}),E=this.addUnitInput(l,"pt",20,33,function(){K.apply(this,arguments)});mxUtils.br(l);u=document.createElement("div"); -u.style.height="8px";l.appendChild(u);m=m.cloneNode(!1);mxUtils.write(m,mxResources.get("linestart"));l.appendChild(m);var J,N,Q=this.addUnitInput(l,"pt",74,33,function(){J.apply(this,arguments)}),O=this.addUnitInput(l,"pt",20,33,function(){N.apply(this,arguments)});mxUtils.br(l);this.addLabel(l,mxResources.get("spacing"),74,50);this.addLabel(l,mxResources.get("size"),20,50);mxUtils.br(l);k=k.cloneNode(!1);k.style.fontWeight="normal";k.style.position="relative";k.style.paddingLeft="16px";k.style.marginBottom= -"2px";k.style.marginTop="6px";k.style.borderWidth="0px";k.style.paddingBottom="18px";m=document.createElement("div");m.style.position="absolute";m.style.marginLeft="3px";m.style.marginBottom="12px";m.style.marginTop="1px";m.style.fontWeight="normal";m.style.width="120px";mxUtils.write(m,mxResources.get("perimeter"));k.appendChild(m);var F,H=this.addUnitInput(k,"pt",20,41,function(){F.apply(this,arguments)});e.edges.length==f.getSelectionCount()?(a.appendChild(h),mxClient.IS_QUIRKS&&(mxUtils.br(a), -mxUtils.br(a)),a.appendChild(l)):e.vertices.length==f.getSelectionCount()&&(mxClient.IS_QUIRKS&&mxUtils.br(a),a.appendChild(k));var G=mxUtils.bind(this,function(a,c,d){function h(a,c,d,f){d=d.getElementsByTagName("div")[0];d.className=b.getCssClassForMarker(f,e.style.shape,a,c);"geSprite geSprite-noarrow"==d.className&&(d.innerHTML=mxUtils.htmlEntities(mxResources.get("none")),d.style.backgroundImage="none",d.style.verticalAlign="top",d.style.marginTop="5px",d.style.fontSize="10px",d.style.filter= +u.style.height="8px";l.appendChild(u);m=m.cloneNode(!1);mxUtils.write(m,mxResources.get("linestart"));l.appendChild(m);var J,N,Q=this.addUnitInput(l,"pt",74,33,function(){J.apply(this,arguments)}),O=this.addUnitInput(l,"pt",20,33,function(){N.apply(this,arguments)});mxUtils.br(l);this.addLabel(l,mxResources.get("spacing"),74,50);this.addLabel(l,mxResources.get("size"),20,50);mxUtils.br(l);h=h.cloneNode(!1);h.style.fontWeight="normal";h.style.position="relative";h.style.paddingLeft="16px";h.style.marginBottom= +"2px";h.style.marginTop="6px";h.style.borderWidth="0px";h.style.paddingBottom="18px";m=document.createElement("div");m.style.position="absolute";m.style.marginLeft="3px";m.style.marginBottom="12px";m.style.marginTop="1px";m.style.fontWeight="normal";m.style.width="120px";mxUtils.write(m,mxResources.get("perimeter"));h.appendChild(m);var F,G=this.addUnitInput(h,"pt",20,41,function(){F.apply(this,arguments)});e.edges.length==f.getSelectionCount()?(a.appendChild(k),mxClient.IS_QUIRKS&&(mxUtils.br(a), +mxUtils.br(a)),a.appendChild(l)):e.vertices.length==f.getSelectionCount()&&(mxClient.IS_QUIRKS&&mxUtils.br(a),a.appendChild(h));var H=mxUtils.bind(this,function(a,c,d){function h(a,c,d,f){d=d.getElementsByTagName("div")[0];d.className=b.getCssClassForMarker(f,e.style.shape,a,c);"geSprite geSprite-noarrow"==d.className&&(d.innerHTML=mxUtils.htmlEntities(mxResources.get("none")),d.style.backgroundImage="none",d.style.verticalAlign="top",d.style.marginTop="5px",d.style.fontSize="10px",d.style.filter= "none",d.style.color=this.defaultStrokeColor,d.nextSibling.style.marginTop="0px");return d}e=this.format.getSelectionState();mxUtils.getValue(e.style,p,null);if(d||document.activeElement!=w)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),w.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=v)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),v.value=isNaN(a)?"":a+" pt";g.style.visibility="connector"==e.style.shape||"filledEdge"==e.style.shape?"":"hidden"; -"1"==mxUtils.getValue(e.style,mxConstants.STYLE_CURVED,null)?g.value="curved":"1"==mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,null)&&(g.value="rounded");"1"==mxUtils.getValue(e.style,mxConstants.STYLE_DASHED,null)?null==mxUtils.getValue(e.style,mxConstants.STYLE_DASH_PATTERN,null)?C.style.borderBottom="1px dashed "+this.defaultStrokeColor:C.style.borderBottom="1px dotted "+this.defaultStrokeColor:C.style.borderBottom="1px solid "+this.defaultStrokeColor;B.style.borderBottom=C.style.borderBottom; +"1"==mxUtils.getValue(e.style,mxConstants.STYLE_CURVED,null)?g.value="curved":"1"==mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,null)&&(g.value="rounded");"1"==mxUtils.getValue(e.style,mxConstants.STYLE_DASHED,null)?null==mxUtils.getValue(e.style,mxConstants.STYLE_DASH_PATTERN,null)?D.style.borderBottom="1px dashed "+this.defaultStrokeColor:D.style.borderBottom="1px dotted "+this.defaultStrokeColor:D.style.borderBottom="1px solid "+this.defaultStrokeColor;B.style.borderBottom=D.style.borderBottom; a=x.getElementsByTagName("div")[0];c=mxUtils.getValue(e.style,mxConstants.STYLE_EDGE,null);"1"==mxUtils.getValue(e.style,mxConstants.STYLE_NOEDGESTYLE,null)&&(c=null);"orthogonalEdgeStyle"==c&&"1"==mxUtils.getValue(e.style,mxConstants.STYLE_CURVED,null)?a.className="geSprite geSprite-curved":a.className="straight"==c||"none"==c||null==c?"geSprite geSprite-straight":"entityRelationEdgeStyle"==c?"geSprite geSprite-entity":"elbowEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(e.style,mxConstants.STYLE_ELBOW, null)?"geSprite-verticalelbow":"geSprite-horizontalelbow"):"isometricEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(e.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalisometric":"geSprite-horizontalisometric"):"geSprite geSprite-orthogonal";r.getElementsByTagName("div")[0].className="link"==e.style.shape?"geSprite geSprite-linkedge":"flexArrow"==e.style.shape?"geSprite geSprite-arrow":"arrow"==e.style.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection";e.edges.length== -f.getSelectionCount()?(t.style.display="",n.style.display="none"):(t.style.display="none",n.style.display="");a=h(mxUtils.getValue(e.style,mxConstants.STYLE_STARTARROW,null),mxUtils.getValue(e.style,"startFill","1"),D,"start");c=h(mxUtils.getValue(e.style,mxConstants.STYLE_ENDARROW,null),mxUtils.getValue(e.style,"endFill","1"),A,"end");"arrow"==e.style.shape?(a.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-endblocktrans"):"link"==e.style.shape&&(a.className="geSprite geSprite-noarrow", -c.className="geSprite geSprite-noarrow");mxUtils.setOpacity(x,"arrow"==e.style.shape?30:100);"connector"!=e.style.shape&&"flexArrow"!=e.style.shape&&"filledEdge"!=e.style.shape?(mxUtils.setOpacity(D,30),mxUtils.setOpacity(A,30)):(mxUtils.setOpacity(D,100),mxUtils.setOpacity(A,100));if(d||document.activeElement!=O)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)),O.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=Q)a=parseInt(mxUtils.getValue(e.style, -mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0)),Q.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=E)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE)),E.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=Q)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0)),I.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=H)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_PERIMETER_SPACING,0)),H.value=isNaN(a)?"": -a+" pt"});N=this.installInputHandler(O,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");J=this.installInputHandler(Q,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0,-999,999," pt");K=this.installInputHandler(E,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");L=this.installInputHandler(I,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0,-999,999," pt");F=this.installInputHandler(H,mxConstants.STYLE_PERIMETER_SPACING,0,0,999," pt");this.addKeyHandler(w,G);this.addKeyHandler(O, -G);this.addKeyHandler(Q,G);this.addKeyHandler(E,G);this.addKeyHandler(I,G);this.addKeyHandler(H,G);f.getModel().addListener(mxEvent.CHANGE,G);this.listeners.push({destroy:function(){f.getModel().removeListener(G)}});G();return a}; +f.getSelectionCount()?(t.style.display="",n.style.display="none"):(t.style.display="none",n.style.display="");a=h(mxUtils.getValue(e.style,mxConstants.STYLE_STARTARROW,null),mxUtils.getValue(e.style,"startFill","1"),C,"start");c=h(mxUtils.getValue(e.style,mxConstants.STYLE_ENDARROW,null),mxUtils.getValue(e.style,"endFill","1"),A,"end");"arrow"==e.style.shape?(a.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-endblocktrans"):"link"==e.style.shape&&(a.className="geSprite geSprite-noarrow", +c.className="geSprite geSprite-noarrow");mxUtils.setOpacity(x,"arrow"==e.style.shape?30:100);"connector"!=e.style.shape&&"flexArrow"!=e.style.shape&&"filledEdge"!=e.style.shape?(mxUtils.setOpacity(C,30),mxUtils.setOpacity(A,30)):(mxUtils.setOpacity(C,100),mxUtils.setOpacity(A,100));if(d||document.activeElement!=O)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)),O.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=Q)a=parseInt(mxUtils.getValue(e.style, +mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0)),Q.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=E)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE)),E.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=Q)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0)),I.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=G)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_PERIMETER_SPACING,0)),G.value=isNaN(a)?"": +a+" pt"});N=this.installInputHandler(O,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");J=this.installInputHandler(Q,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0,-999,999," pt");K=this.installInputHandler(E,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");L=this.installInputHandler(I,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0,-999,999," pt");F=this.installInputHandler(G,mxConstants.STYLE_PERIMETER_SPACING,0,0,999," pt");this.addKeyHandler(w,H);this.addKeyHandler(O, +H);this.addKeyHandler(Q,H);this.addKeyHandler(E,H);this.addKeyHandler(I,H);this.addKeyHandler(G,H);f.getModel().addListener(mxEvent.CHANGE,H);this.listeners.push({destroy:function(){f.getModel().removeListener(H)}});H();return a}; StyleFormatPanel.prototype.addLineJumps=function(a){var c=this.format.getSelectionState();if(Graph.lineJumpsEnabled&&0a?-1:1:a===a?0:NaN:NaN},d=Math.abs(a-this.lastX),e=Math.abs(b-this.lastY),f=Math.sqrt(d*d+e*e);if(2>f){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;return}var g=Math.round(f/10),h=this.defaultVariation;5>g&&(g=5,h/=3);for(var k=c(a-this.lastX)*d/g,c=c(b-this.lastY)*e/g,d=d/f,e=e/f,f=0;fa?-1:1:a===a?0:NaN:NaN},d=Math.abs(a-this.lastX),e=Math.abs(b-this.lastY),f=Math.sqrt(d*d+e*e);if(2>f){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;return}var g=Math.round(f/10),h=this.defaultVariation;5>g&&(g=5,h/=3);for(var P=c(a-this.lastX)*d/g,c=c(b-this.lastY)*e/g,d=d/f,e=e/f,f=0;f")}),b)}d(mxResources.get("normal"),"p");d("","h1").firstChild.nextSibling.innerHTML='

'+mxResources.get("heading")+" 1

";d("","h2").firstChild.nextSibling.innerHTML='

'+mxResources.get("heading")+" 2

";d("","h3").firstChild.nextSibling.innerHTML= '

'+mxResources.get("heading")+" 3

";d("","h4").firstChild.nextSibling.innerHTML='

'+mxResources.get("heading")+" 4

";d("","h5").firstChild.nextSibling.innerHTML='
'+mxResources.get("heading")+" 5
";d("","h6").firstChild.nextSibling.innerHTML='
'+mxResources.get("heading")+" 6
";d("","pre").firstChild.nextSibling.innerHTML='
'+mxResources.get("formatted")+"
";d("", "blockquote").firstChild.nextSibling.innerHTML='
'+mxResources.get("blockquote")+"
"})));this.put("fontSize",new Menu(mxUtils.bind(this,function(c,b){for(var d=[6,8,9,10,11,12,14,18,24,36,48,72],e=mxUtils.bind(this,function(d){this.styleChange(c,d,[mxConstants.STYLE_FONTSIZE],[d],null,b,function(){document.execCommand("fontSize",!1,"3");for(var b=a.cellEditor.textarea.getElementsByTagName("font"),c=0;c"],d=0;d");for(var e=0;e
");c.push("")}c.push("");return c.join("")}var d=this.editorUi.editor.graph;a=a.addItem("",null,mxUtils.bind(this,function(a){var b=d.getParentByName(mxEvent.getSource(a),"TD");if(null!=b){var e=d.getParentByName(b,"TR"),f=d.cellEditor.textarea.getElementsByTagName("table");a=[];for(var k=0;k';a.firstChild.innerHTML="";var f=function(a,c){var d=document.createElement("table");d.setAttribute("border","1");d.style.borderCollapse="collapse";mxClient.IS_QUIRKS||d.setAttribute("cellPadding", -"8");for(var e=0;e"],d=0;d");for(var e=0;e
");c.push("")}c.push("");return c.join("")}var d=this.editorUi.editor.graph;a=a.addItem("",null,mxUtils.bind(this,function(a){var b=d.getParentByName(mxEvent.getSource(a),"TD");if(null!=b){var e=d.getParentByName(b,"TR"),f=d.cellEditor.textarea.getElementsByTagName("table");a=[];for(var h=0;h';a.firstChild.innerHTML="";var f=function(a,c){var d=document.createElement("table");d.setAttribute("border","1");d.style.borderCollapse="collapse";mxClient.IS_QUIRKS||d.setAttribute("cellPadding", +"8");for(var e=0;e'+this.dropdownImageHtml;a.style.width=mxClient.IS_QUIRKS?b+"px":b-(null!=k?k:32)+"px";mxClient.IS_QUIRKS&&(a.style.height=EditorUi.compactUi?"24px":"26px");EditorUi.compactUi&&(a.getElementsByTagName("img")[0].style.left="24px",a.getElementsByTagName("img")[0].style.top= +Toolbar.prototype.addDropDownArrow=function(a,c,d,b,f,e,h,g){f=EditorUi.compactUi?f:g;a.style.whiteSpace="nowrap";a.style.overflow="hidden";a.style.position="relative";a.innerHTML='
'+this.dropdownImageHtml;a.style.width=mxClient.IS_QUIRKS?b+"px":b-(null!=h?h:32)+"px";mxClient.IS_QUIRKS&&(a.style.height=EditorUi.compactUi?"24px":"26px");EditorUi.compactUi&&(a.getElementsByTagName("img")[0].style.left="24px",a.getElementsByTagName("img")[0].style.top= "5px",a.style.width=mxClient.IS_QUIRKS?d+"px":d-10+"px")};Toolbar.prototype.setFontName=function(a){null!=this.fontMenu&&(this.fontMenu.innerHTML='
'+mxUtils.htmlEntities(a)+"
"+this.dropdownImageHtml)};Toolbar.prototype.setFontSize=function(a){null!=this.sizeMenu&&(this.sizeMenu.innerHTML='
'+a+"
"+this.dropdownImageHtml)}; Toolbar.prototype.createTextToolbar=function(){var a=this.editorUi.editor.graph,c=this.addMenu("",mxResources.get("style"),!0,"formatBlock");c.style.position="relative";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.innerHTML=mxResources.get("style")+this.dropdownImageHtml;EditorUi.compactUi&&(c.style.paddingRight="18px",c.getElementsByTagName("img")[0].style.right="1px",c.getElementsByTagName("img")[0].style.top="5px");this.addSeparator();this.fontMenu=this.addMenu("",mxResources.get("fontFamily"), !0,"fontFamily");this.fontMenu.style.position="relative";this.fontMenu.style.whiteSpace="nowrap";this.fontMenu.style.overflow="hidden";this.fontMenu.style.width=mxClient.IS_QUIRKS?"80px":"60px";this.setFontName(Menus.prototype.defaultFont);EditorUi.compactUi&&(this.fontMenu.style.paddingRight="18px",this.fontMenu.getElementsByTagName("img")[0].style.right="1px",this.fontMenu.getElementsByTagName("img")[0].style.top="5px");this.addSeparator();this.sizeMenu=this.addMenu(Menus.prototype.defaultFontSize, @@ -3092,41 +3093,41 @@ mxResources.get("fontColor"));d=a.addItem("",null,this.editorUi.actions.get("bac '
'+this.dropdownImageHtml;c.style.width=mxClient.IS_QUIRKS?"50px":"30px";EditorUi.compactUi&&(c.getElementsByTagName("img")[0].style.left="22px",c.getElementsByTagName("img")[0].style.top="5px");this.addSeparator();this.addButton("geIcon geSprite geSprite-code",mxResources.get("html"),function(){a.cellEditor.toggleViewMode();0e.div.clientHeight&&(e.div.style.width="40px"); -e.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(e,arguments);this.editorUi.resetCurrentMenu();e.destroy()});e.addListener(mxEvent.EVENT_HIDE,mxUtils.bind(this,function(){this.currentElt=null}))}k=!0;mxEvent.consume(g)}));mxEvent.addListener(a,"mousedown",mxUtils.bind(this,function(b){k=this.currentElt!=a;null!=document.documentMode&&9<=document.documentMode&&b.preventDefault()}))}}; +Toolbar.prototype.addMenuHandler=function(a,c,d,b){if(null!=d){var f=this.editorUi.editor.graph,e=null,h=!0;mxEvent.addListener(a,"click",mxUtils.bind(this,function(g){if(h&&(null==a.enabled||a.enabled)){f.popupMenuHandler.hideMenu();e=new mxPopupMenu(d);e.div.className+=" geToolbarMenu";e.showDisabled=b;e.labels=c;e.autoExpand=!0;var k=mxUtils.getOffset(a);e.popup(k.x,k.y+a.offsetHeight,null,g);this.editorUi.setCurrentMenu(e,a);!c&&e.div.scrollHeight>e.div.clientHeight&&(e.div.style.width="40px"); +e.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(e,arguments);this.editorUi.resetCurrentMenu();e.destroy()});e.addListener(mxEvent.EVENT_HIDE,mxUtils.bind(this,function(){this.currentElt=null}))}h=!0;mxEvent.consume(g)}));mxEvent.addListener(a,"mousedown",mxUtils.bind(this,function(b){h=this.currentElt!=a;null!=document.documentMode&&9<=document.documentMode&&b.preventDefault()}))}}; Toolbar.prototype.destroy=function(){null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null)};var OpenDialog=function(){var a=document.createElement("iframe");a.style.backgroundColor="transparent";a.allowTransparency="true";a.style.borderStyle="none";a.style.borderWidth="0px";a.style.overflow="hidden";a.frameBorder="0";var c=mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)?20:0;a.setAttribute("width",(Editor.useLocalStorage?640:320)+c+"px");a.setAttribute("height",(Editor.useLocalStorage?480:220)+c+"px");a.setAttribute("src",OPEN_FORM);this.container=a},ColorDialog= -function(a,c,d,b){function f(){var a=e(0==ColorDialog.recentColors.length?["FFFFFF"]:ColorDialog.recentColors,11,"FFFFFF",!0);a.style.marginBottom="8px";return a}function e(a,b,c,d){b=null!=b?b:12;var e=document.createElement("table");e.style.borderCollapse="collapse";e.setAttribute("cellspacing","0");e.style.marginBottom="20px";e.style.cellSpacing="0px";var h=document.createElement("tbody");e.appendChild(h);for(var m=a.length/b,n=0;n=c&&ColorDialog.recentColors.pop())};ColorDialog.resetRecentColors=function(){ColorDialog.recentColors=[]}; var AboutDialog=function(a){var c=document.createElement("div");c.setAttribute("align","center");var d=document.createElement("h3");mxUtils.write(d,mxResources.get("about")+" GraphEditor");c.appendChild(d);d=document.createElement("img");d.style.border="0px";d.setAttribute("width","176");d.setAttribute("width","151");d.setAttribute("src",IMAGE_PATH+"/logo.png");c.appendChild(d);mxUtils.br(c);mxUtils.write(c,"Powered by mxGraph "+mxClient.VERSION);mxUtils.br(c);d=document.createElement("a");d.setAttribute("href", -"http://www.jgraph.com/");d.setAttribute("target","_blank");mxUtils.write(d,"www.jgraph.com");c.appendChild(d);mxUtils.br(c);mxUtils.br(c);d=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});d.className="geBtn gePrimaryBtn";c.appendChild(d);this.container=c},FilenameDialog=function(a,c,d,b,f,e,k,g,h,l){h=null!=h?h:!0;var m,p,n=document.createElement("table"),q=document.createElement("tbody");n.style.marginTop="8px";m=document.createElement("tr");p=document.createElement("td");p.style.whiteSpace= -"nowrap";p.style.fontSize="10pt";p.style.width="120px";mxUtils.write(p,(f||mxResources.get("filename"))+":");m.appendChild(p);var t=document.createElement("input");t.setAttribute("value",c||"");t.style.marginLeft="4px";t.style.width="180px";var r=mxUtils.button(d,function(){if(null==e||e(t.value))h&&a.hideDialog(),b(t.value)});r.className="geBtn gePrimaryBtn";this.init=function(){if(null!=f||null==k)if(t.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select(): +"http://www.jgraph.com/");d.setAttribute("target","_blank");mxUtils.write(d,"www.jgraph.com");c.appendChild(d);mxUtils.br(c);mxUtils.br(c);d=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});d.className="geBtn gePrimaryBtn";c.appendChild(d);this.container=c},FilenameDialog=function(a,c,d,b,f,e,h,g,k,l){k=null!=k?k:!0;var m,p,n=document.createElement("table"),q=document.createElement("tbody");n.style.marginTop="8px";m=document.createElement("tr");p=document.createElement("td");p.style.whiteSpace= +"nowrap";p.style.fontSize="10pt";p.style.width="120px";mxUtils.write(p,(f||mxResources.get("filename"))+":");m.appendChild(p);var t=document.createElement("input");t.setAttribute("value",c||"");t.style.marginLeft="4px";t.style.width="180px";var r=mxUtils.button(d,function(){if(null==e||e(t.value))k&&a.hideDialog(),b(t.value)});r.className="geBtn gePrimaryBtn";this.init=function(){if(null!=f||null==h)if(t.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select(): document.execCommand("selectAll",!1,null),Graph.fileSupport){var a=n.parentNode,b=null;mxEvent.addListener(a,"dragleave",function(a){null!=b&&(b.style.backgroundColor="",b=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(a,"dragover",mxUtils.bind(this,function(a){null==b&&(!mxClient.IS_IE||10MAX_AREA||0>=q.value?"red":"";t.style.backgroundColor=q.value*t.value>MAX_AREA||0>=t.value?"red":""}var b=a.editor.graph,f=b.getGraphBounds(),e=b.view.scale,k=Math.ceil(f.width/e),g=Math.ceil(f.height/e),h,e=document.createElement("table"),l=document.createElement("tbody");e.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";h.style.width="100px";mxUtils.write(h, -mxResources.get("filename")+":");f.appendChild(h);var m=document.createElement("input");m.setAttribute("value",a.editor.getOrCreateFilename());m.style.width="180px";h=document.createElement("td");h.appendChild(m);f.appendChild(h);l.appendChild(f);f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("format")+":");f.appendChild(h);var p=document.createElement("select");p.style.width="180px";h=document.createElement("option");h.setAttribute("value", -"png");mxUtils.write(h,mxResources.get("formatPng"));p.appendChild(h);h=document.createElement("option");ExportDialog.showGifOption&&(h.setAttribute("value","gif"),mxUtils.write(h,mxResources.get("formatGif")),p.appendChild(h));h=document.createElement("option");h.setAttribute("value","jpg");mxUtils.write(h,mxResources.get("formatJpg"));p.appendChild(h);h=document.createElement("option");h.setAttribute("value","pdf");mxUtils.write(h,mxResources.get("formatPdf"));p.appendChild(h);h=document.createElement("option"); -h.setAttribute("value","svg");mxUtils.write(h,mxResources.get("formatSvg"));p.appendChild(h);ExportDialog.showXmlOption&&(h=document.createElement("option"),h.setAttribute("value","xml"),mxUtils.write(h,mxResources.get("formatXml")),p.appendChild(h));h=document.createElement("td");h.appendChild(p);f.appendChild(h);l.appendChild(f);f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("zoom")+" (%):");f.appendChild(h);var n=document.createElement("input"); -n.setAttribute("type","number");n.setAttribute("value","100");n.style.width="180px";h=document.createElement("td");h.appendChild(n);f.appendChild(h);l.appendChild(f);f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("width")+":");f.appendChild(h);var q=document.createElement("input");q.setAttribute("value",k);q.style.width="180px";h=document.createElement("td");h.appendChild(q);f.appendChild(h);l.appendChild(f);f=document.createElement("tr"); -h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("height")+":");f.appendChild(h);var t=document.createElement("input");t.setAttribute("value",g);t.style.width="180px";h=document.createElement("td");h.appendChild(t);f.appendChild(h);l.appendChild(f);f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("background")+":");f.appendChild(h);var r=document.createElement("input");r.setAttribute("type", -"checkbox");r.checked=null==b.background||b.background==mxConstants.NONE;h=document.createElement("td");h.appendChild(r);mxUtils.write(h,mxResources.get("transparent"));f.appendChild(h);l.appendChild(f);f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("borderWidth")+":");f.appendChild(h);var w=document.createElement("input");w.setAttribute("type","number");w.setAttribute("value",ExportDialog.lastBorderValue);w.style.width="180px"; -h=document.createElement("td");h.appendChild(w);f.appendChild(h);l.appendChild(f);e.appendChild(l);mxEvent.addListener(p,"change",c);c();mxEvent.addListener(n,"change",function(){var a=Math.max(0,parseFloat(n.value)||100)/100;n.value=parseFloat((100*a).toFixed(2));0=parseInt(n.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var c= -m.value,d=p.value,e=Math.max(0,parseFloat(n.value)||100)/100,f=Math.max(0,parseInt(w.value)),g=b.background;if(("svg"==d||"png"==d)&&r.checked)g=null;else if(null==g||g==mxConstants.NONE)g="#ffffff";ExportDialog.lastBorderValue=f;ExportDialog.exportFile(a,c,d,g,e,f)}}));v.className="geBtn gePrimaryBtn";var u=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});u.className="geBtn";a.editor.cancelFirst?(h.appendChild(u),h.appendChild(v)):(h.appendChild(v),h.appendChild(u));f.appendChild(h); +function d(){q.style.backgroundColor=q.value*t.value>MAX_AREA||0>=q.value?"red":"";t.style.backgroundColor=q.value*t.value>MAX_AREA||0>=t.value?"red":""}var b=a.editor.graph,f=b.getGraphBounds(),e=b.view.scale,h=Math.ceil(f.width/e),g=Math.ceil(f.height/e),k,e=document.createElement("table"),l=document.createElement("tbody");e.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";k.style.width="100px";mxUtils.write(k, +mxResources.get("filename")+":");f.appendChild(k);var m=document.createElement("input");m.setAttribute("value",a.editor.getOrCreateFilename());m.style.width="180px";k=document.createElement("td");k.appendChild(m);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("format")+":");f.appendChild(k);var p=document.createElement("select");p.style.width="180px";k=document.createElement("option");k.setAttribute("value", +"png");mxUtils.write(k,mxResources.get("formatPng"));p.appendChild(k);k=document.createElement("option");ExportDialog.showGifOption&&(k.setAttribute("value","gif"),mxUtils.write(k,mxResources.get("formatGif")),p.appendChild(k));k=document.createElement("option");k.setAttribute("value","jpg");mxUtils.write(k,mxResources.get("formatJpg"));p.appendChild(k);k=document.createElement("option");k.setAttribute("value","pdf");mxUtils.write(k,mxResources.get("formatPdf"));p.appendChild(k);k=document.createElement("option"); +k.setAttribute("value","svg");mxUtils.write(k,mxResources.get("formatSvg"));p.appendChild(k);ExportDialog.showXmlOption&&(k=document.createElement("option"),k.setAttribute("value","xml"),mxUtils.write(k,mxResources.get("formatXml")),p.appendChild(k));k=document.createElement("td");k.appendChild(p);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("zoom")+" (%):");f.appendChild(k);var n=document.createElement("input"); +n.setAttribute("type","number");n.setAttribute("value","100");n.style.width="180px";k=document.createElement("td");k.appendChild(n);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("width")+":");f.appendChild(k);var q=document.createElement("input");q.setAttribute("value",h);q.style.width="180px";k=document.createElement("td");k.appendChild(q);f.appendChild(k);l.appendChild(f);f=document.createElement("tr"); +k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("height")+":");f.appendChild(k);var t=document.createElement("input");t.setAttribute("value",g);t.style.width="180px";k=document.createElement("td");k.appendChild(t);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("background")+":");f.appendChild(k);var r=document.createElement("input");r.setAttribute("type", +"checkbox");r.checked=null==b.background||b.background==mxConstants.NONE;k=document.createElement("td");k.appendChild(r);mxUtils.write(k,mxResources.get("transparent"));f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("borderWidth")+":");f.appendChild(k);var w=document.createElement("input");w.setAttribute("type","number");w.setAttribute("value",ExportDialog.lastBorderValue);w.style.width="180px"; +k=document.createElement("td");k.appendChild(w);f.appendChild(k);l.appendChild(f);e.appendChild(l);mxEvent.addListener(p,"change",c);c();mxEvent.addListener(n,"change",function(){var a=Math.max(0,parseFloat(n.value)||100)/100;n.value=parseFloat((100*a).toFixed(2));0=parseInt(n.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var c= +m.value,d=p.value,e=Math.max(0,parseFloat(n.value)||100)/100,f=Math.max(0,parseInt(w.value)),g=b.background;if(("svg"==d||"png"==d)&&r.checked)g=null;else if(null==g||g==mxConstants.NONE)g="#ffffff";ExportDialog.lastBorderValue=f;ExportDialog.exportFile(a,c,d,g,e,f)}}));v.className="geBtn gePrimaryBtn";var u=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});u.className="geBtn";a.editor.cancelFirst?(k.appendChild(u),k.appendChild(v)):(k.appendChild(v),k.appendChild(u));f.appendChild(k); l.appendChild(f);e.appendChild(l);this.container=e};ExportDialog.lastBorderValue=0;ExportDialog.showGifOption=!0;ExportDialog.showXmlOption=!0; -ExportDialog.exportFile=function(a,c,d,b,f,e){var k=a.editor.graph;if("xml"==d)ExportDialog.saveLocalFile(a,mxUtils.getXml(a.editor.getGraphXml()),c,d);else if("svg"==d)ExportDialog.saveLocalFile(a,mxUtils.getXml(k.getSvg(b,f,e)),c,d);else{var g=k.getGraphBounds(),h=mxUtils.createXmlDocument(),l=h.createElement("output");h.appendChild(l);h=new mxXmlCanvas2D(l);h.translate(Math.floor((e/f-g.x)/k.view.scale),Math.floor((e/f-g.y)/k.view.scale));h.scale(f/k.view.scale);(new mxImageExport).drawState(k.getView().getState(k.model.root), -h);l="xml="+encodeURIComponent(mxUtils.getXml(l));h=Math.ceil(g.width*f/k.view.scale+2*e);f=Math.ceil(g.height*f/k.view.scale+2*e);l.length<=MAX_REQUEST_SIZE&&h*fb.name?1:0});for(t=0;ta.indexOf(":"))try{var b=mxUtils.indexOf(h,a);if(0<=b&&null!=l[b])l[b].focus();else{e.cloneNode(!1).setAttribute(a,"");0<=b&&(h.splice(b,1),l.splice(b,1));h.push(a);var c=g.addTextarea(a+":","",2);c.style.width="100%";l.push(c);p(c,a);c.focus()}r.value=""}catch(A){mxUtils.alert(A)}else mxUtils.alert(mxResources.get("invalidName"))}); -this.init=function(){0b.name?1:0});for(t=0;ta.indexOf(":"))try{var b=mxUtils.indexOf(k,a);if(0<=b&&null!=l[b])l[b].focus();else{e.cloneNode(!1).setAttribute(a,"");0<=b&&(k.splice(b,1),l.splice(b,1));k.push(a);var c=g.addTextarea(a+":","",2);c.style.width="100%";l.push(c);p(c,a);c.focus()}r.value=""}catch(A){mxUtils.alert(A)}else mxUtils.alert(mxResources.get("invalidName"))}); +this.init=function(){0")});mxEvent.addListener(f,"dragend",function(a){null!=p&&null!=n&&g.addCell(c,g.model.root,n);n=p=null;a.stopPropagation();a.preventDefault()});var l=document.createElement("img");l.setAttribute("draggable", -"false");l.setAttribute("align","top");l.setAttribute("border","0");l.style.padding="4px";l.setAttribute("title",mxResources.get("lockUnlock"));var r=g.view.getState(c),u=null!=r?r.style:g.getCellStyle(c);"1"==mxUtils.getValue(u,"locked","0")?l.setAttribute("src",Dialog.prototype.lockedImage):l.setAttribute("src",Dialog.prototype.unlockedImage);g.isEnabled()&&(l.style.cursor="pointer");mxEvent.addListener(l,"click",function(a){if(g.isEnabled()){var b=null;g.getModel().beginUpdate();try{b="1"==mxUtils.getValue(u, -"locked","0")?null:"1",g.setCellStyles("locked",b,[c])}finally{g.getModel().endUpdate()}"1"==b&&g.removeSelectionCells(g.getModel().getDescendants(c));mxEvent.consume(a)}});h.appendChild(l);l=document.createElement("input");l.setAttribute("type","checkbox");l.setAttribute("title",mxResources.get("hideIt",[c.value||mxResources.get("background")]));l.style.marginLeft="4px";l.style.marginRight="6px";l.style.marginTop="4px";h.appendChild(l);g.model.isVisible(c)&&(l.setAttribute("checked","checked"),l.defaultChecked= -!0);mxEvent.addListener(l,"click",function(a){g.model.setVisible(c,!g.model.isVisible(c));mxEvent.consume(a)});mxUtils.write(h,b);f.appendChild(h);if(g.isEnabled()){if(mxClient.IS_TOUCH||mxClient.IS_POINTER||mxClient.IS_VML||mxClient.IS_IE&&10>document.documentMode)b=document.createElement("div"),b.style.display="block",b.style.textAlign="right",b.style.whiteSpace="nowrap",b.style.position="absolute",b.style.right="6px",b.style.top="6px",0';mxEvent.addListener(w,"click",function(a){if(g.isEnabled()){g.model.beginUpdate();try{var b=g.model.root.getIndex(t);g.removeCells([t], -!1);0==g.model.getChildCount(g.model.root)?(g.model.add(g.model.root,new mxCell),g.setDefaultParent(null)):0';mxEvent.addListener(v,"click",function(a){g.isEnabled()&& -!g.isSelectionEmpty()&&g.moveCells(g.getSelectionCells(),0,0,!1,t)});r.appendChild(v);var u=l.cloneNode();u.innerHTML='
';u.setAttribute("title",mxResources.get("rename"));mxEvent.addListener(u,"click",function(a){g.isEnabled()&&e(t);mxEvent.consume(a)});g.isEnabled()||(u.className="geButton mxDisabled");r.appendChild(u);var z=l.cloneNode();z.innerHTML='
'; +document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var k=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",k);var l=a.createOutline(this.window);this.destroy=function(){mxEvent.removeListener(window,"resize",k);this.window.destroy();l.destroy()};this.window.addListener(mxEvent.RESIZE, +mxUtils.bind(this,function(){l.update(!1);l.outline.sizeDidChange()}));this.window.addListener(mxEvent.SHOW,mxUtils.bind(this,function(){l.suspended=!1;l.outline.refresh();l.update()}));this.window.addListener(mxEvent.HIDE,mxUtils.bind(this,function(){l.suspended=!0}));this.window.addListener(mxEvent.NORMALIZE,mxUtils.bind(this,function(){l.suspended=!1;l.update()}));this.window.addListener(mxEvent.MINIMIZE,mxUtils.bind(this,function(){l.suspended=!0}));var m=l.createGraph;l.createGraph=function(a){var b= +m.apply(this,arguments);b.gridEnabled=!1;b.pageScale=h.pageScale;b.pageFormat=h.pageFormat;b.background=null==h.background||h.background==mxConstants.NONE?h.defaultPageBackgroundColor:h.background;b.pageVisible=h.pageVisible;var c=mxUtils.getCurrentStyle(h.container);g.style.backgroundColor=c.backgroundColor;return b};l.init(g);a.editor.addListener("resetGraphView",e);a.addListener("pageFormatChanged",e);a.addListener("backgroundColorChanged",e);a.addListener("backgroundImageChanged",e);a.addListener("pageViewChanged", +function(){e();l.update(!0)});if(l.outline.dialect==mxConstants.DIALECT_SVG){var p=a.actions.get("zoomIn"),n=a.actions.get("zoomOut");mxEvent.addMouseWheelListener(function(a,b){for(var c=!1,d=mxEvent.getSource(a);null!=d;){if(d==l.outline.view.canvas.ownerSVGElement){c=!0;break}d=d.parentNode}c&&(b?p.funct():n.funct(),mxEvent.consume(a))})}},LayersWindow=function(a,c,d,b,f){function e(b){if(g.isEnabled()&&null!=b){var c=new FilenameDialog(a,b.value||mxResources.get("background"),mxResources.get("rename"), +mxUtils.bind(this,function(a){null!=a&&g.getModel().setValue(b,a)}),mxResources.get("enterName"));a.showDialog(c.container,300,100,!0,!0);c.init()}}function h(){function a(a,b,c,d){var f=document.createElement("div");f.className="geToolbarContainer";f.style.overflow="hidden";f.style.position="relative";f.style.padding="4px";f.style.height="22px";f.style.display="block";f.style.backgroundColor="whiteSmoke";f.style.borderWidth="0px 0px 1px 0px";f.style.borderColor="#c3c3c3";f.style.borderStyle="solid"; +f.style.whiteSpace="nowrap";var k=document.createElement("div");k.style.display="inline-block";k.style.width="100%";k.style.textOverflow="ellipsis";k.style.overflow="hidden";mxEvent.addListener(f,"dragover",function(b){b.dataTransfer.dropEffect="move";n=a;b.stopPropagation();b.preventDefault()});mxEvent.addListener(f,"dragstart",function(a){p=f;mxClient.IS_FF&&a.dataTransfer.setData("Text","")});mxEvent.addListener(f,"dragend",function(a){null!=p&&null!=n&&g.addCell(c,g.model.root,n);n=p= +null;a.stopPropagation();a.preventDefault()});var l=document.createElement("img");l.setAttribute("draggable","false");l.setAttribute("align","top");l.setAttribute("border","0");l.style.padding="4px";l.setAttribute("title",mxResources.get("lockUnlock"));var r=g.view.getState(c),u=null!=r?r.style:g.getCellStyle(c);"1"==mxUtils.getValue(u,"locked","0")?l.setAttribute("src",Dialog.prototype.lockedImage):l.setAttribute("src",Dialog.prototype.unlockedImage);g.isEnabled()&&(l.style.cursor="pointer");mxEvent.addListener(l, +"click",function(a){if(g.isEnabled()){var b=null;g.getModel().beginUpdate();try{b="1"==mxUtils.getValue(u,"locked","0")?null:"1",g.setCellStyles("locked",b,[c])}finally{g.getModel().endUpdate()}"1"==b&&g.removeSelectionCells(g.getModel().getDescendants(c));mxEvent.consume(a)}});k.appendChild(l);l=document.createElement("input");l.setAttribute("type","checkbox");l.setAttribute("title",mxResources.get("hideIt",[c.value||mxResources.get("background")]));l.style.marginLeft="4px";l.style.marginRight="6px"; +l.style.marginTop="4px";k.appendChild(l);g.model.isVisible(c)&&(l.setAttribute("checked","checked"),l.defaultChecked=!0);mxEvent.addListener(l,"click",function(a){g.model.setVisible(c,!g.model.isVisible(c));mxEvent.consume(a)});mxUtils.write(k,b);f.appendChild(k);if(g.isEnabled()){if(mxClient.IS_TOUCH||mxClient.IS_POINTER||mxClient.IS_VML||mxClient.IS_IE&&10>document.documentMode)b=document.createElement("div"),b.style.display="block",b.style.textAlign="right",b.style.whiteSpace="nowrap",b.style.position= +"absolute",b.style.right="6px",b.style.top="6px",0';mxEvent.addListener(w,"click",function(a){if(g.isEnabled()){g.model.beginUpdate(); +try{var b=g.model.root.getIndex(t);g.removeCells([t],!1);0==g.model.getChildCount(g.model.root)?(g.model.add(g.model.root,new mxCell),g.setDefaultParent(null)):0'; +mxEvent.addListener(v,"click",function(a){g.isEnabled()&&!g.isSelectionEmpty()&&g.moveCells(g.getSelectionCells(),0,0,!1,t)});r.appendChild(v);var u=l.cloneNode();u.innerHTML='
';u.setAttribute("title",mxResources.get("rename"));mxEvent.addListener(u,"click",function(a){g.isEnabled()&&e(t);mxEvent.consume(a)});g.isEnabled()||(u.className="geButton mxDisabled");r.appendChild(u);var z=l.cloneNode();z.innerHTML='
'; mxEvent.addListener(z,"click",function(a){if(g.isEnabled()){a=null;g.model.beginUpdate();try{a=g.cloneCells([t])[0],a.value=mxResources.get("untitledLayer"),a.setVisible(!0),a=g.addCell(a,g.model.root),g.setDefaultParent(a)}finally{g.model.endUpdate()}null==a||g.isCellLocked(a)||g.selectAll(a)}});g.isEnabled()||(z.className="geButton mxDisabled");r.appendChild(z);l=l.cloneNode();l.innerHTML='
';l.setAttribute("title",mxResources.get("addLayer")); -mxEvent.addListener(l,"click",function(a){if(g.isEnabled()){g.model.beginUpdate();try{var b=g.addCell(new mxCell(mxResources.get("untitledLayer")),g.model.root);g.setDefaultParent(b)}finally{g.model.endUpdate()}}mxEvent.consume(a)});g.isEnabled()||(l.className="geButton mxDisabled");r.appendChild(l);h.appendChild(r);k();g.model.addListener(mxEvent.CHANGE,function(){k()});g.selectionModel.addListener(mxEvent.CHANGE,function(){g.isSelectionEmpty()?v.className="geButton mxDisabled":v.className="geButton"}); -this.window=new mxWindow(mxResources.get("layers"),h,c,d,b,f,!0,!0);this.window.minimumSize=new mxRectangle(0,0,120,120);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.refreshLayers=k;this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)- -this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};mxEvent.addListener(window,"resize",mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)}))}; +mxEvent.addListener(l,"click",function(a){if(g.isEnabled()){g.model.beginUpdate();try{var b=g.addCell(new mxCell(mxResources.get("untitledLayer")),g.model.root);g.setDefaultParent(b)}finally{g.model.endUpdate()}}mxEvent.consume(a)});g.isEnabled()||(l.className="geButton mxDisabled");r.appendChild(l);k.appendChild(r);h();g.model.addListener(mxEvent.CHANGE,function(){h()});g.selectionModel.addListener(mxEvent.CHANGE,function(){g.isSelectionEmpty()?v.className="geButton mxDisabled":v.className="geButton"}); +this.window=new mxWindow(mxResources.get("layers"),k,c,d,b,f,!0,!0);this.window.minimumSize=new mxRectangle(0,0,120,120);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.refreshLayers=h;this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)- +this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var x=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",x);this.destroy=function(){mxEvent.removeListener(window,"resize",x);this.window.destroy()}}; (function(){Sidebar.prototype.tagIndex="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"; Sidebar.prototype.searchFileData="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"; Sidebar.prototype.gearImage=GRAPH_IMAGE_PATH+"/clipart/Gear_128x128.png";Sidebar.prototype.libAliases={aws2:"aws3"};Sidebar.prototype.defaultEntries="general;uml;er;bpmn;flowchart;basic;arrows2";Sidebar.prototype.signs="Animals Food Healthcare Nature People Safety Science Sports Tech Transportation Travel".split(" ");Sidebar.prototype.ibm="Analytics Applications Blockchain Data DevOps Infrastructure Management Miscellaneous Security Social Users".split(" ");Sidebar.prototype.gcp="Cards;Big Data;Compute;Developer Tools;Extras;Identity and Security;Machine Learning;Management Tools;Networking;Storage Databases".split(";"); Sidebar.prototype.rack="General APC Cisco Dell F5 HP IBM Oracle".split(" ");Sidebar.prototype.pids="Agitators;Apparatus Elements;Centrifuges;Compressors;Compressors ISO;Crushers Grinding;Driers;Engines;Feeders;Filters;Fittings;Flow Sensors;Heat Exchangers;Instruments;Misc;Mixers;Piping;Pumps;Pumps DIN;Pumps ISO;Separators;Shaping Machines;Valves;Vessels".split(";");Sidebar.prototype.cisco="Buildings;Computers and Peripherals;Controllers and Modules;Directors;Hubs and Gateways;Misc;Modems and Phones;People;Routers;Security;Servers;Storage;Switches;Wireless".split(";"); -Sidebar.prototype.sysml="Model Elements;Blocks;Ports and Flows;Constraint Blocks;Activities;Interactions;State Machines;Use Cases;Allocations;Requirements;Profiles;Stereotypes".split(";");Sidebar.prototype.eip="Message Construction;Message Routing;Message Transformation;Messaging Channels;Messaging Endpoints;Messaging Systems;System Management".split(";");Sidebar.prototype.gmdl="Bottom Navigation;Bottom Sheets;Buttons;Cards;Chips;Dialogs;Dividers;Grid Lists;Icons;Lists;Menus;Misc;Pickers;Selection Controls;Sliders;Steppers;Tabs;Text Fields".split(";"); +Sidebar.prototype.cisco_safe=["Architecture","Capability","Design","Threat"];Sidebar.prototype.sysml="Model Elements;Blocks;Ports and Flows;Constraint Blocks;Activities;Interactions;State Machines;Use Cases;Allocations;Requirements;Profiles;Stereotypes".split(";");Sidebar.prototype.eip="Message Construction;Message Routing;Message Transformation;Messaging Channels;Messaging Endpoints;Messaging Systems;System Management".split(";");Sidebar.prototype.gmdl="Bottom Navigation;Bottom Sheets;Buttons;Cards;Chips;Dialogs;Dividers;Grid Lists;Icons;Lists;Menus;Misc;Pickers;Selection Controls;Sliders;Steppers;Tabs;Text Fields".split(";"); Sidebar.prototype.aws2="Analytics;Application Services;Compute;Database;Developer Tools;Enterprise Applications;Game Development;General;Internet of Things;Management Tools;Mobile Services;Networking;On-Demand Workforce;SDKs;Security and Identity;Storage and Content Delivery;Groups".split(";");Sidebar.prototype.aws3="Analytics;Application Services;Artificial Intelligence;Business Productivity;Compute;Contact Center;Database;Desktop and App Streaming;Developer Tools;Game Development;General;Groups;Internet of Things;Management Tools;Messaging;Migration;Mobile Services;Networking and Content Delivery;On Demand Workforce;SDKs;Security Identity and Compliance;Storage".split(";"); Sidebar.prototype.office="Clouds Communications Concepts Databases Devices Security Servers Services Sites Users".split(" ");Sidebar.prototype.veeam=["2D","3D"];Sidebar.prototype.archimate3="Application;Business;Composite;Implementation and Migration;Motivation;Physical;Relationships;Strategy;Technology".split(";");Sidebar.prototype.electrical="LogicGates Resistors Capacitors Inductors SwitchesRelays Diodes Sources Transistors Misc Audio PlcLadder Abstract Optical VacuumTubes Waveforms Instruments RotMech Transmission".split(" "); Sidebar.prototype.configuration=[{id:"general",libs:["general","misc","advanced"]},{id:"uml"},{id:"search"},{id:"er"},{id:"ios",prefix:"ios",libs:["","7icons","7ui"]},{id:"android",prefix:"android",libs:[""]},{id:"aws3d"},{id:"flowchart"},{id:"basic"},{id:"arrows"},{id:"arrows2"},{id:"lean_mapping"},{id:"citrix"},{id:"azure"},{id:"network"},{id:"sitemap"},{id:"mscae",prefix:"mscae",libs:"Cloud;Enterprise;General;General Symbols;Intune;OMS;OpsManager;Other;System Center;Virtual Machine;Deprecated;Cloud Color;Deprecated Color".split(";")}, {id:"bpmn",prefix:"bpmn",libs:["","Gateways","Events"]},{id:"clipart",prefix:null,libs:"computer finance clipart networking people telco".split(" ")},{id:"ibm",prefix:"ibm",libs:Sidebar.prototype.ibm},{id:"eip",prefix:"eip",libs:Sidebar.prototype.eip},{id:"mockups",prefix:"mockup",libs:"Buttons Containers Forms Graphics Markup Misc Navigation Text".split(" ")},{id:"pid2",prefix:"pid2",libs:"Agitators;Apparatus Elements;Centrifuges;Compressors;Compressors ISO;Crushers Grinding;Driers;Engines;Feeders;Filters;Fittings;Flow Sensors;Heat Exchangers;Instruments;Misc;Mixers;Piping;Pumps;Pumps DIN;Pumps ISO;Separators;Shaping Machines;Valves;Vessels".split(";")}, -{id:"signs",prefix:"signs",libs:Sidebar.prototype.signs},{id:"gcp",prefix:"gcp",libs:Sidebar.prototype.gcp},{id:"rack",prefix:"rack",libs:Sidebar.prototype.rack},{id:"electrical",prefix:"electrical",libs:Sidebar.prototype.electrical},{id:"aws2",prefix:"aws2",libs:Sidebar.prototype.aws2},{id:"aws3",prefix:"aws3",libs:Sidebar.prototype.aws3},{id:"pid",prefix:"pid",libs:Sidebar.prototype.pids},{id:"cisco",prefix:"cisco",libs:Sidebar.prototype.cisco},{id:"office",prefix:"office",libs:Sidebar.prototype.office}, -{id:"veeam",prefix:"veeam",libs:Sidebar.prototype.veeam},{id:"cabinets",libs:["cabinets"]},{id:"floorplan",libs:["floorplan"]},{id:"bootstrap",libs:["bootstrap"]},{id:"atlassian",libs:["atlassian"]},{id:"gmdl",prefix:"gmdl",libs:Sidebar.prototype.gmdl},{id:"archimate3",prefix:"archimate3",libs:Sidebar.prototype.archimate3},{id:"archimate",libs:["archimate"]},{id:"webicons",libs:["webicons","weblogos"]},{id:"sysml",prefix:"sysml",libs:Sidebar.prototype.sysml}];var a=Sidebar.prototype.insertSearchHint; -Sidebar.prototype.insertSearchHint=function(b,c,d,e,m,l,r,n){if(null!=n&&1==e){var h=null;if(0<=mxUtils.indexOf(n,"text"))h="Double click anywhere in the diagram to insert text.";else for(var f="line lines arrow arrows connect connection connections connector connectors curve curves link links directed directional bidirectional".split(" "),g=0;g'+ -f.outerHTML+h.outerHTML+"";h.style.position="absolute";window.document.body.appendChild(h);var g=h.clientHeight+18;h.parentNode.removeChild(h);(new mxXmlRequest(EXPORT_URL,"w=456&h="+g+"&html="+encodeURIComponent(this.editorUi.editor.graph.compress(f)))).simulate(document,"_blank")}else{if("none"==a.style.display){if(d)b.appendChild(e);else if(d=!0,null!=c){null!=e.parentNode&&e.parentNode.removeChild(e);b.style.cursor="wait";var k=b.innerHTML;b.innerHTML=mxResources.get("loading")+ -"...";window.setTimeout(function(){c(a);b.style.cursor="";b.innerHTML=k;b.appendChild(e)},0)}else b.appendChild(e);b.style.backgroundImage="url('"+this.expandedImage+"')";a.style.display="block"}else b.style.backgroundImage="url('"+this.collapsedImage+"')",a.style.display="none",null!=e.parentNode&&e.parentNode.removeChild(e);mxEvent.consume(h)}}))});Sidebar.prototype.extractShapeStyle=function(b){if(null!=b&&"shape="==b.substring(0,6)){var a=b.indexOf(";");0>a&&(a=b.length);return b.substring(6, -a)}return null};var e=Sidebar.prototype.getTagsForStencil;Sidebar.prototype.getTagsForStencil=function(b,a,c){var d=e.apply(this,arguments);null!=this.shapetags&&(b=b.toLowerCase(),a=a.toLowerCase(),null!=this.shapetags[b]&&d.push(this.shapetags[b]),a=b+"."+a,null!=this.shapetags[a]&&d.push(this.shapetags[a]));return d};Sidebar.prototype.addTagIndex=function(b){b=b.split("\n");for(var a=0;ar?"":c.substring(r+1));this.createVertexTemplateEntry(c,parseInt(b[a].getAttribute("w")),parseInt(b[a].getAttribute("h")),"",d.replace(/_/g," "),null,null,this.filterTags(e.join(" ")))}}}}}};Sidebar.prototype.initPalettes=function(){var b=GRAPH_IMAGE_PATH,a=STENCIL_PATH,c=this.signs,d=this.gcp,e=this.rack,l=this.pids,r=this.cisco,n=this.sysml,p=this.eip,q=this.gmdl;"1"==urlParams.createindex&&(mxLog.show(),mxLog.textarea.value="");this.addSearchPalette(!0);this.addGeneralPalette(!0);this.addMiscPalette(!1); -this.addAdvancedPalette(!1);this.addUmlPalette(!1);this.addErPalette();this.addBasicPalette();this.addFlowchartPalette();this.addNetworkPalette();this.addAzurePalette();this.addCitrixPalette();this.addMSCAEPalette();this.addBpmnPalette(a,!1);this.addAWS3Palette();this.addAWS3DPalette();this.addLeanMappingPalette();this.addIos7Palette();this.addIosPalette();this.addAndroidPalette();this.addMockupPalette();this.addElectricalPalette();this.addOfficePalette();this.addVeeamPalette();this.addIBMPalette(); -this.addSitemapPalette();this.addStencilPalette("arrows",mxResources.get("arrows"),a+"/arrows.xml",";html=1;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;"+mxConstants.STYLE_STROKEWIDTH+"=2;strokeColor=#000000;");this.addArrows2Palette();this.addImagePalette("computer","Clipart / Computer",b+"/lib/clip_art/computers/","_128x128.png","Antivirus Data_Filtering Database Database_Add Database_Minus Database_Move_Stack Database_Remove Fujitsu_Tablet Harddrive IBM_Tablet iMac iPad Laptop MacBook Mainframe Monitor Monitor_Tower Monitor_Tower_Behind Netbook Network Network_2 Printer Printer_Commercial Secure_System Server Server_Rack Server_Rack_Empty Server_Rack_Partial Server_Tower Software Stylus Touch USB_Hub Virtual_Application Virtual_Machine Virus Workstation".split(" "), -"Antivirus;Data Filtering;Database;Database Add;Database Minus;Database Move Stack;Database Remove;Fujitsu Tablet;Harddrive;IBMTablet;iMac;iPad;Laptop;MacBook;Mainframe;Monitor;Monitor Tower;Monitor Tower Behind;Netbook;Network;Network 2;Printer;Printer Commercial;Secure System;Server;Server Rack;Server Rack Empty;Server Rack Partial;Server Tower;Software;Stylus;Touch;USB Hub;Virtual Application;Virtual Machine;Virus;Workstation".split(";"));this.addImagePalette("finance","Clipart / Finance",b+"/lib/clip_art/finance/", -"_128x128.png","Arrow_Down Arrow_Up Coins Credit_Card Dollar Graph Pie_Chart Piggy_Bank Safe Shopping_Cart Stock_Down Stock_Up".split(" "),"Arrow_Down;Arrow Up;Coins;Credit Card;Dollar;Graph;Pie Chart;Piggy Bank;Safe;Shopping Basket;Stock Down;Stock Up".split(";"));this.addImagePalette("clipart","Clipart / Various",b+"/lib/clip_art/general/","_128x128.png","Battery_0 Battery_100 Battery_50 Battery_75 Battery_allstates Bluetooth Earth_globe Empty_Folder Full_Folder Gear Keys Lock Mouse_Pointer Plug Ships_Wheel Star Tire".split(" "), -"Battery 0%;Battery 100%;Battery 50%;Battery 75%;Battery;Bluetooth;Globe;Empty Folder;Full Folder;Gear;Keys;Lock;Mousepointer;Plug;Ships Wheel;Star;Tire".split(";"));this.addImagePalette("networking","Clipart / Networking",b+"/lib/clip_art/networking/","_128x128.png","Bridge Certificate Certificate_Off Cloud Cloud_Computer Cloud_Computer_Private Cloud_Rack Cloud_Rack_Private Cloud_Server Cloud_Server_Private Cloud_Storage Concentrator Email Firewall_02 Firewall Firewall-page1 Ip_Camera Modem power_distribution_unit Print_Server Print_Server_Wireless Repeater Router Router_Icon Switch UPS Wireless_Router Wireless_Router_N".split(" "), +{id:"signs",prefix:"signs",libs:Sidebar.prototype.signs},{id:"gcp",prefix:"gcp",libs:Sidebar.prototype.gcp},{id:"rack",prefix:"rack",libs:Sidebar.prototype.rack},{id:"electrical",prefix:"electrical",libs:Sidebar.prototype.electrical},{id:"aws2",prefix:"aws2",libs:Sidebar.prototype.aws2},{id:"aws3",prefix:"aws3",libs:Sidebar.prototype.aws3},{id:"pid",prefix:"pid",libs:Sidebar.prototype.pids},{id:"cisco",prefix:"cisco",libs:Sidebar.prototype.cisco},{id:"cisco_safe",prefix:"cisco_safe",libs:Sidebar.prototype.cisco_safe}, +{id:"office",prefix:"office",libs:Sidebar.prototype.office},{id:"veeam",prefix:"veeam",libs:Sidebar.prototype.veeam},{id:"cabinets",libs:["cabinets"]},{id:"floorplan",libs:["floorplan"]},{id:"bootstrap",libs:["bootstrap"]},{id:"atlassian",libs:["atlassian"]},{id:"gmdl",prefix:"gmdl",libs:Sidebar.prototype.gmdl},{id:"archimate3",prefix:"archimate3",libs:Sidebar.prototype.archimate3},{id:"archimate",libs:["archimate"]},{id:"webicons",libs:["webicons","weblogos"]},{id:"sysml",prefix:"sysml",libs:Sidebar.prototype.sysml}]; +var a=Sidebar.prototype.insertSearchHint;Sidebar.prototype.insertSearchHint=function(b,c,d,e,m,l,r,n){if(null!=n&&1==e){var h=null;if(0<=mxUtils.indexOf(n,"text"))h="Double click anywhere in the diagram to insert text.";else for(var f="line lines arrow arrows connect connection connections connector connectors curve curves link links directed directional bidirectional".split(" "),g=0;g'+ +f.outerHTML+h.outerHTML+"";h.style.position="absolute";window.document.body.appendChild(h);var g=h.clientHeight+18;h.parentNode.removeChild(h);(new mxXmlRequest(EXPORT_URL,"w=456&h="+g+"&html="+encodeURIComponent(this.editorUi.editor.graph.compress(f)))).simulate(document,"_blank")}else{if("none"==b.style.display){if(d)a.appendChild(e);else if(d=!0,null!=c){null!=e.parentNode&&e.parentNode.removeChild(e);a.style.cursor="wait";var k=a.innerHTML;a.innerHTML=mxResources.get("loading")+ +"...";window.setTimeout(function(){c(b);a.style.cursor="";a.innerHTML=k;a.appendChild(e)},0)}else a.appendChild(e);a.style.backgroundImage="url('"+this.expandedImage+"')";b.style.display="block"}else a.style.backgroundImage="url('"+this.collapsedImage+"')",b.style.display="none",null!=e.parentNode&&e.parentNode.removeChild(e);mxEvent.consume(h)}}))});Sidebar.prototype.extractShapeStyle=function(a){if(null!=a&&"shape="==a.substring(0,6)){var b=a.indexOf(";");0>b&&(b=a.length);return a.substring(6, +b)}return null};var e=Sidebar.prototype.getTagsForStencil;Sidebar.prototype.getTagsForStencil=function(a,b,c){var d=e.apply(this,arguments);null!=this.shapetags&&(a=a.toLowerCase(),b=b.toLowerCase(),null!=this.shapetags[a]&&d.push(this.shapetags[a]),b=a+"."+b,null!=this.shapetags[b]&&d.push(this.shapetags[b]));return d};Sidebar.prototype.addTagIndex=function(a){a=a.split("\n");for(var b=0;br?"":c.substring(r+1));this.createVertexTemplateEntry(c,parseInt(a[b].getAttribute("w")),parseInt(a[b].getAttribute("h")),"",d.replace(/_/g," "),null,null,this.filterTags(e.join(" ")))}}}}}};Sidebar.prototype.initPalettes=function(){var a=GRAPH_IMAGE_PATH,b=STENCIL_PATH,c=this.signs,d=this.gcp,e=this.rack,l=this.pids,r=this.cisco,n=this.sysml,p=this.eip,q=this.gmdl;"1"==urlParams.createindex&&(mxLog.show(),mxLog.textarea.value="");this.addSearchPalette(!0);this.addGeneralPalette(!0);this.addMiscPalette(!1); +this.addAdvancedPalette(!1);this.addUmlPalette(!1);this.addErPalette();this.addBasicPalette();this.addFlowchartPalette();this.addNetworkPalette();this.addAzurePalette();this.addCitrixPalette();this.addMSCAEPalette();this.addBpmnPalette(b,!1);this.addAWS3Palette();this.addAWS3DPalette();this.addLeanMappingPalette();this.addIos7Palette();this.addIosPalette();this.addAndroidPalette();this.addMockupPalette();this.addElectricalPalette();this.addOfficePalette();this.addVeeamPalette();this.addIBMPalette(); +this.addSitemapPalette();this.addStencilPalette("arrows",mxResources.get("arrows"),b+"/arrows.xml",";html=1;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;"+mxConstants.STYLE_STROKEWIDTH+"=2;strokeColor=#000000;");this.addArrows2Palette();this.addImagePalette("computer","Clipart / Computer",a+"/lib/clip_art/computers/","_128x128.png","Antivirus Data_Filtering Database Database_Add Database_Minus Database_Move_Stack Database_Remove Fujitsu_Tablet Harddrive IBM_Tablet iMac iPad Laptop MacBook Mainframe Monitor Monitor_Tower Monitor_Tower_Behind Netbook Network Network_2 Printer Printer_Commercial Secure_System Server Server_Rack Server_Rack_Empty Server_Rack_Partial Server_Tower Software Stylus Touch USB_Hub Virtual_Application Virtual_Machine Virus Workstation".split(" "), +"Antivirus;Data Filtering;Database;Database Add;Database Minus;Database Move Stack;Database Remove;Fujitsu Tablet;Harddrive;IBMTablet;iMac;iPad;Laptop;MacBook;Mainframe;Monitor;Monitor Tower;Monitor Tower Behind;Netbook;Network;Network 2;Printer;Printer Commercial;Secure System;Server;Server Rack;Server Rack Empty;Server Rack Partial;Server Tower;Software;Stylus;Touch;USB Hub;Virtual Application;Virtual Machine;Virus;Workstation".split(";"));this.addImagePalette("finance","Clipart / Finance",a+"/lib/clip_art/finance/", +"_128x128.png","Arrow_Down Arrow_Up Coins Credit_Card Dollar Graph Pie_Chart Piggy_Bank Safe Shopping_Cart Stock_Down Stock_Up".split(" "),"Arrow_Down;Arrow Up;Coins;Credit Card;Dollar;Graph;Pie Chart;Piggy Bank;Safe;Shopping Basket;Stock Down;Stock Up".split(";"));this.addImagePalette("clipart","Clipart / Various",a+"/lib/clip_art/general/","_128x128.png","Battery_0 Battery_100 Battery_50 Battery_75 Battery_allstates Bluetooth Earth_globe Empty_Folder Full_Folder Gear Keys Lock Mouse_Pointer Plug Ships_Wheel Star Tire".split(" "), +"Battery 0%;Battery 100%;Battery 50%;Battery 75%;Battery;Bluetooth;Globe;Empty Folder;Full Folder;Gear;Keys;Lock;Mousepointer;Plug;Ships Wheel;Star;Tire".split(";"));this.addImagePalette("networking","Clipart / Networking",a+"/lib/clip_art/networking/","_128x128.png","Bridge Certificate Certificate_Off Cloud Cloud_Computer Cloud_Computer_Private Cloud_Rack Cloud_Rack_Private Cloud_Server Cloud_Server_Private Cloud_Storage Concentrator Email Firewall_02 Firewall Firewall-page1 Ip_Camera Modem power_distribution_unit Print_Server Print_Server_Wireless Repeater Router Router_Icon Switch UPS Wireless_Router Wireless_Router_N".split(" "), "Bridge;Certificate;Certificate Off;Cloud;Cloud Computer;Cloud Computer Private;Cloud Rack;Cloud Rack Private;Cloud Server;Cloud Server Private;Cloud Storage;Concentrator;Email;Firewall 1;Firewall 2;Firewall;Camera;Modem;Power Distribution Unit;Print Server;Print Server Wireless;Repeater;Router;Router Icon;Switch;UPS;Wireless Router;Wireless Router N".split(";"),{Wireless_Router:"wireless router switch wap wifi access point wlan",Wireless_Router_N:"wireless router switch wap wifi access point wlan", -Router:"router switch",Router_Icon:"router switch"});this.addImagePalette("people","Clipart / People",b+"/lib/clip_art/people/","_128x128.png","Suit_Man Suit_Man_Black Suit_Man_Blue Suit_Man_Green Suit_Man_Green_Black Suit_Woman Suit_Woman_Black Suit_Woman_Blue Suit_Woman_Green Suit_Woman_Green_Black Construction_Worker_Man Construction_Worker_Man_Black Construction_Worker_Woman Construction_Worker_Woman_Black Doctor_Man Doctor_Man_Black Doctor_Woman Doctor_Woman_Black Farmer_Man Farmer_Man_Black Farmer_Woman Farmer_Woman_Black Nurse_Man Nurse_Man_Black Nurse_Woman Nurse_Woman_Black Military_Officer Military_Officer_Black Military_Officer_Woman Military_Officer_Woman_Black Pilot_Man Pilot_Man_Black Pilot_Woman Pilot_Woman_Black Scientist_Man Scientist_Man_Black Scientist_Woman Scientist_Woman_Black Security_Man Security_Man_Black Security_Woman Security_Woman_Black Tech_Man Tech_Man_Black Telesales_Man Telesales_Man_Black Telesales_Woman Telesales_Woman_Black Waiter Waiter_Black Waiter_Woman Waiter_Woman_Black Worker_Black Worker_Man Worker_Woman Worker_Woman_Black".split(" ")); -this.addImagePalette("telco","Clipart / Telecommunication",b+"/lib/clip_art/telecommunication/","_128x128.png","BlackBerry Cellphone HTC_smartphone iPhone Palm_Treo Signal_tower_off Signal_tower_on".split(" "),"BlackBerry;Cellphone;HTC smartphone;iPhone;Palm Treo;Signaltower off;Signaltower on".split(";"));for(b=0;bmxUtils.indexOf(m,a))c=null!=n?n[a]:null,mxLog.debug('")}),!0)}}var b=Sidebar.prototype.searchEntries;Sidebar.prototype.searchEntries=function(a,c,d,e,m){var h=e;null!=this.searchFileData&&(this.addSearchFileData(mxUtils.parseXml(this.editorUi.editor.graph.decompress(this.searchFileData)).documentElement),this.searchFileData=null);null!=this.tagIndex&&(this.addTagIndex(this.editorUi.editor.graph.decompress(this.tagIndex)), +Router:"router switch",Router_Icon:"router switch"});this.addImagePalette("people","Clipart / People",a+"/lib/clip_art/people/","_128x128.png","Suit_Man Suit_Man_Black Suit_Man_Blue Suit_Man_Green Suit_Man_Green_Black Suit_Woman Suit_Woman_Black Suit_Woman_Blue Suit_Woman_Green Suit_Woman_Green_Black Construction_Worker_Man Construction_Worker_Man_Black Construction_Worker_Woman Construction_Worker_Woman_Black Doctor_Man Doctor_Man_Black Doctor_Woman Doctor_Woman_Black Farmer_Man Farmer_Man_Black Farmer_Woman Farmer_Woman_Black Nurse_Man Nurse_Man_Black Nurse_Woman Nurse_Woman_Black Military_Officer Military_Officer_Black Military_Officer_Woman Military_Officer_Woman_Black Pilot_Man Pilot_Man_Black Pilot_Woman Pilot_Woman_Black Scientist_Man Scientist_Man_Black Scientist_Woman Scientist_Woman_Black Security_Man Security_Man_Black Security_Woman Security_Woman_Black Tech_Man Tech_Man_Black Telesales_Man Telesales_Man_Black Telesales_Woman Telesales_Woman_Black Waiter Waiter_Black Waiter_Woman Waiter_Woman_Black Worker_Black Worker_Man Worker_Woman Worker_Woman_Black".split(" ")); +this.addImagePalette("telco","Clipart / Telecommunication",a+"/lib/clip_art/telecommunication/","_128x128.png","BlackBerry Cellphone HTC_smartphone iPhone Palm_Treo Signal_tower_off Signal_tower_on".split(" "),"BlackBerry;Cellphone;HTC smartphone;iPhone;Palm Treo;Signaltower off;Signaltower on".split(";"));for(a=0;amxUtils.indexOf(m,b))c=null!=n?n[b]:null,mxLog.debug('")}),!0)}}var b=Sidebar.prototype.searchEntries;Sidebar.prototype.searchEntries=function(a,c,d,e,m){var h=e;null!=this.searchFileData&&(this.addSearchFileData(mxUtils.parseXml(this.editorUi.editor.graph.decompress(this.searchFileData)).documentElement),this.searchFileData=null);null!=this.tagIndex&&(this.addTagIndex(this.editorUi.editor.graph.decompress(this.tagIndex)), this.tagIndex=null);this.editorUi.isOffline()||0!=d||this.editorUi.logEvent({category:"Sidebar",action:"search",label:a});null!=ICONSEARCH_PATH&&(e=mxUtils.bind(this,function(b,e,f,g){!this.editorUi.isOffline()&&b.length<=c/4?(f=d-Math.ceil((e-c/4)/c),mxUtils.get(ICONSEARCH_PATH+"?v=2&q="+encodeURIComponent(a)+"&p="+f+"&c="+c,mxUtils.bind(this,function(a){try{if(200<=a.getStatus()&&299>=a.getStatus())try{var f=JSON.parse(a.getText());if(null==f||null==f.icons)h(b,e,!1,g),this.editorUi.handleError(f); else{for(a=0;aXYZ Corp',"Customer/Supplier",null,null,this.getTagsForStencil("mxgraph.lean_mapping","outside_sources","value stream lean mapping ").join(" ")),this.addEntry("value stream lean mapping dedicated process manufacturing",function(){var b=new mxCell("\nDescription",new mxGeometry(0,0,100,70),a+"manufacturing_process;fontSize=12;verticalAlign=middle;html=1;align=center;whiteSpace=wrap;"); b.vertex=!0;var e=new mxCell("Process",new mxGeometry(0,0,100,13),"text;fontSize=12;spacingLeft=2;verticalAlign=top;html=1;align=center;spacingTop=-5;resizeWidth=1;");e.vertex=!0;b.insert(e);return d.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Dedicated Process")}),this.createVertexTemplateEntry(a+"manufacturing_process_shared;spacingTop=-5;align=center;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;",100,70,"Process","Shared Process",null,null,this.getTagsForStencil("mxgraph.lean_mapping", @@ -4965,8 +5035,8 @@ null,null,this.getTagsForStencil("mxgraph.lean_mapping","push_arrow","value stre "fifo_lane;overflow=fill;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;align=center;",100,50,'
MAX=XX
',"FIFO Lane",null,null,this.getTagsForStencil("mxgraph.lean_mapping","fifo_lane","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(a+"buffer_or_safety_stock;",40,100,"","Safety Stock",null,null,this.getTagsForStencil("mxgraph.lean_mapping", "buffer_or_safety_stock","value stream lean mapping ").join(" ")),this.addEntry(this.getTagsForStencil("mxgraph.lean_mapping","truck_shipment","value stream lean mapping ").join(" "),function(){var b=new mxCell("",new mxGeometry(0,0,100,100),a+"truck_shipment;");b.vertex=!0;var e=new mxCell("2x per\nWeek",new mxGeometry(0,0,60,80),"text;fontSize=12;verticalAlign=middle;html=1;align=center;whiteSpace=wrap;");e.vertex=!0;b.insert(e);return d.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height, "Truck Shipment")}),this.createVertexTemplateEntry(a+"schedule;whiteSpace=wrap;align=center;",100,70,"Production\nControl","Production Control",null,null,this.getTagsForStencil("mxgraph.lean_mapping","schedule","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(a+"schedule;whiteSpace=wrap;align=center;",100,70,"Other\nInformation","Other Information",null,null,this.getTagsForStencil("mxgraph.lean_mapping","schedule","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(e+ -"go_see_production_scheduling;",92,60,"","Go See Production Scheduling",null,null,this.getTagsForStencil("mxgraph.lean_mapping","go_see_production_scheduling","value stream lean mapping ").join(" ")),this.addEntry(this.getTagsForStencil("mxgraph.lean_mapping","kaizen_lightening_burst","value stream lean mapping ").join(" "),function(){var b=new mxCell("",new mxGeometry(0,0,90,40),e+"kaizen_lightening_burst;");b.vertex=!0;var a=new mxCell("",new mxGeometry(8,8,74,24),"rect;fillColor=#000000;strokeColor=none;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Kaizen Lightening Burst")}),this.createVertexTemplateEntry(e+"kanban_post;",50,100,"","Kanban Post",null,null,this.getTagsForStencil("mxgraph.lean_mapping","kanban_post","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(e+"load_leveling;",100,30,"","Load Leveling",null,null,this.getTagsForStencil("mxgraph.lean_mapping","load_leveling","value stream lean mapping ").join(" ")), +"go_see_production_scheduling;",92,60,"","Go See Production Scheduling",null,null,this.getTagsForStencil("mxgraph.lean_mapping","go_see_production_scheduling","value stream lean mapping ").join(" ")),this.addEntry(this.getTagsForStencil("mxgraph.lean_mapping","kaizen_lightening_burst","value stream lean mapping ").join(" "),function(){var a=new mxCell("",new mxGeometry(0,0,90,40),e+"kaizen_lightening_burst;");a.vertex=!0;var b=new mxCell("",new mxGeometry(8,8,74,24),"rect;fillColor=#000000;strokeColor=none;"); +b.vertex=!0;a.insert(b);return d.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Kaizen Lightening Burst")}),this.createVertexTemplateEntry(e+"kanban_post;",50,100,"","Kanban Post",null,null,this.getTagsForStencil("mxgraph.lean_mapping","kanban_post","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(e+"load_leveling;",100,30,"","Load Leveling",null,null,this.getTagsForStencil("mxgraph.lean_mapping","load_leveling","value stream lean mapping ").join(" ")), this.createVertexTemplateEntry(e+"move_by_forklift;",92,100,"","Move by Forklift",null,null,this.getTagsForStencil("mxgraph.lean_mapping","move_by_forklift","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(a+"mrp_erp;whiteSpace=wrap;",70,100,"","MRP/ERP",null,null,this.getTagsForStencil("mxgraph.lean_mapping","mrp_erp","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(e+"operator;",100,84,"","Operator",null,null,this.getTagsForStencil("mxgraph.lean_mapping", "operator","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(a+"quality_problem;fontSize=24;fontStyle=1;whiteSpace=wrap;align=center;",80,100,"Q","Quality Problem",null,null,this.getTagsForStencil("mxgraph.lean_mapping","quality_problem","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(e+"verbal;",50,100,"","Verbal Information",null,null,this.getTagsForStencil("mxgraph.lean_mapping","verbal","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(a+ "fifo_sequence_flow;fontStyle=0;fontSize=20;align=center;",100,50,"FIFO","FIFO Sequence",null,null,this.getTagsForStencil("mxgraph.lean_mapping","fifo_sequence_flow","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(a+"production_kanban;overflow=fill;",100,100,'

P

',"Production Kanban",null,null,this.getTagsForStencil("mxgraph.lean_mapping","production_kanban","value stream lean mapping ").join(" ")), @@ -4987,55 +5057,55 @@ e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-50);e.vertex=!0;b.insert 150,50,"ON","On-off button",null,null,this.getTagsForStencil("mxgraph.mockup.buttons","onOffButton","mockup button on off").join(" "))];this.addPalette("mockupButtons","Mockup Buttons",!1,mxUtils.bind(this,function(a){for(var c=0;c100',"Spinner",null,null,this.getTagsForStencil("mxgraph.mockup.forms","spinner","mockup form ").join(" ")),this.addEntry("mockup form menu bar",function(){var b=new mxCell("", -new mxGeometry(0,0,498,30),e+"forms.rrect;rSize=0;strokeColor=#999999;fillColor=#ffffff;");b.vertex=!0;var a=new mxCell("File",new mxGeometry(0,0,83,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;"+e+"forms.rrect;rSize=0;fontSize=17;fontColor=#666666;");a.vertex=!0;b.insert(a);a=new mxCell("Edit",new mxGeometry(83,0,83,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;"+e+"forms.rrect;rSize=0;fontSize=17;fontColor=#666666;");a.vertex=!0;b.insert(a);a=new mxCell("Options", -new mxGeometry(166,0,83,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;"+e+"forms.rrect;rSize=0;fontSize=17;fontColor=#666666;");a.vertex=!0;b.insert(a);a=new mxCell("Tools",new mxGeometry(249,0,83,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;"+e+"forms.rrect;rSize=0;fontSize=17;fontColor=#666666;");a.vertex=!0;b.insert(a);a=new mxCell("Window",new mxGeometry(332,0,83,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;"+e+"forms.rrect;rSize=0;fontSize=17;fontColor=#666666;"); -a.vertex=!0;b.insert(a);a=new mxCell("Help",new mxGeometry(415,0,83,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;"+e+"forms.rrect;rSize=0;fontSize=17;fontColor=#666666;");a.vertex=!0;b.insert(a);return c.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Menu Bar")}),this.createVertexTemplateEntry(a+"forms.horSlider;"+d+b+"sliderStyle=basic;sliderPos=20;handleStyle=circle;fillColor2=#ddeeff;",150,30,"","Horizontal Slider",null,null,this.getTagsForStencil("mxgraph.mockup.forms", +this.createVertexTemplateEntry(e+"forms.spinner;"+d+"spinLayout=right;spinStyle=normal;adjStyle=triangle;fillColor=#aaddff;fontSize=17;fontColor=#666666;mainText=;html=1;overflow=fill;",150,60,'
100
',"Spinner",null,null,this.getTagsForStencil("mxgraph.mockup.forms","spinner","mockup form ").join(" ")),this.addEntry("mockup form menu bar",function(){var a=new mxCell("", +new mxGeometry(0,0,498,30),e+"forms.rrect;rSize=0;strokeColor=#999999;fillColor=#ffffff;");a.vertex=!0;var b=new mxCell("File",new mxGeometry(0,0,83,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;"+e+"forms.rrect;rSize=0;fontSize=17;fontColor=#666666;");b.vertex=!0;a.insert(b);b=new mxCell("Edit",new mxGeometry(83,0,83,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;"+e+"forms.rrect;rSize=0;fontSize=17;fontColor=#666666;");b.vertex=!0;a.insert(b);b=new mxCell("Options", +new mxGeometry(166,0,83,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;"+e+"forms.rrect;rSize=0;fontSize=17;fontColor=#666666;");b.vertex=!0;a.insert(b);b=new mxCell("Tools",new mxGeometry(249,0,83,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;"+e+"forms.rrect;rSize=0;fontSize=17;fontColor=#666666;");b.vertex=!0;a.insert(b);b=new mxCell("Window",new mxGeometry(332,0,83,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;"+e+"forms.rrect;rSize=0;fontSize=17;fontColor=#666666;"); +b.vertex=!0;a.insert(b);b=new mxCell("Help",new mxGeometry(415,0,83,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;"+e+"forms.rrect;rSize=0;fontSize=17;fontColor=#666666;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Menu Bar")}),this.createVertexTemplateEntry(a+"forms.horSlider;"+d+b+"sliderStyle=basic;sliderPos=20;handleStyle=circle;fillColor2=#ddeeff;",150,30,"","Horizontal Slider",null,null,this.getTagsForStencil("mxgraph.mockup.forms", "horSlider","mockup form horizontal").join(" ")),this.createVertexTemplateEntry(a+"forms.horSlider;"+d+b+"sliderStyle=basic;sliderPos=20;handleStyle=circle;fillColor2=#ddeeff;direction=north;",30,150,"","Vertical Slider",null,null,this.getTagsForStencil("mxgraph.mockup.forms","horSlider","mockup form vertical").join(" ")),this.addDataEntry("mockup form list box",150,200,"List Box","7ZZdS8MwFIZ/TW9HlmzO3W7qEBQEBa9De9oG06YkUTd/vadJ3FprZX7MOVigkPMmJx/vEw6N2LxYLjSv8muVgIzYecTmWinre8VyDlJGlIgkYmcRpQS/iF70jA7dKKm4htJuk0B9whOXj+AVLxi7kkEwVqsHuBeJzVEYRmxmcp6oZwwIBgk3OSQh4FJkJfZj3B40Crkt5Carqpcslll93UGh4ofHapAqXZiB1hDjgWf6VrxAWMxvPFdSaXcSNnUNR1IhZUNPXUM9XAa0hWWvIU4KbixAFWD1Cqc8hwvWM8beNJKDyPKQRkkQufFCts7d+IudYPHHdrOO3XfCotGH4LkqbUMn5DR2ntd6WGA4+YSNBoOzmlfaihb9Hi0WNA2SW/EErfV/QnDUIXhpoUBluB+IvIzz2usuhzavE9caO0lIa/im4rEosysXnY3/HBT9KqiwxY0SuDMlqzbvtwyVpgZsB+z6YFuxHvex3lORPLL2WHbB+qSPNfs/xfnXsL+r0UkC4Gp0u/qXqoRDfSOTXbyRSd8bGR3rwR5ZT3+BNYabn24/vflP/go="), this.createVertexTemplateEntry(e+"forms.pwField;"+d+"mainText=;align=left;fillColor=#ffffff;fontColor=#666666;fontSize=17;spacingLeft=3;",150,30,"********","Password Field",null,null,this.getTagsForStencil("mxgraph.mockup.forms","pwField","mockup form ").join(" ")),this.createVertexTemplateEntry(a+"forms.splitter;fillColor=#ffffff;"+d,350,10,"","Horizontal Splitter",null,null,this.getTagsForStencil("mxgraph.mockup.forms","splitter","mockup form ").join(" ")),this.createVertexTemplateEntry(a+"forms.splitter;fillColor=#ffffff;"+ -d+mxConstants.STYLE_DIRECTION+"="+mxConstants.DIRECTION_NORTH+";",10,350,"","Vertical Splitter",null,null,this.getTagsForStencil("mxgraph.mockup.forms","splitter","mockup form ").join(" ")),this.addEntry("mockup form wedge bar",function(){var b=new mxCell("Tab 1",new mxGeometry(10,0,70,30),e+"forms.uRect;fontSize=17;fontColor=#666666;align=left;spacingLeft=5;strokeColor=#666666;fillColor=#ffffff;");b.vertex=!0;var a=new mxCell("Tab 2",new mxGeometry(85,0,70,30),e+"forms.uRect;fontSize=17;fontColor=#ffffff;align=left;spacingLeft=5;strokeColor=#008cff;fillColor=#008cff;"); -a.vertex=!0;var d=new mxCell("Tab 3",new mxGeometry(160,0,70,30),e+"forms.uRect;fontSize=17;fontColor=#666666;align=left;spacingLeft=5;strokeColor=#666666;fillColor=#ffffff;");d.vertex=!0;return c.createVertexTemplateFromCells([b,a,d],230,30,"Wedge Bar")}),this.createVertexTemplateEntry(a+"menus_and_buttons.font_style_selector_1;",136,31,"","Formatting Toolbar 1",null,null,this.getTagsForStencil("mxgraph.mockup.menus_and_buttons","font_style_selector_1","mockup form ").join(" ")),this.createVertexTemplateEntry(a+ +d+mxConstants.STYLE_DIRECTION+"="+mxConstants.DIRECTION_NORTH+";",10,350,"","Vertical Splitter",null,null,this.getTagsForStencil("mxgraph.mockup.forms","splitter","mockup form ").join(" ")),this.addEntry("mockup form wedge bar",function(){var a=new mxCell("Tab 1",new mxGeometry(10,0,70,30),e+"forms.uRect;fontSize=17;fontColor=#666666;align=left;spacingLeft=5;strokeColor=#666666;fillColor=#ffffff;");a.vertex=!0;var b=new mxCell("Tab 2",new mxGeometry(85,0,70,30),e+"forms.uRect;fontSize=17;fontColor=#ffffff;align=left;spacingLeft=5;strokeColor=#008cff;fillColor=#008cff;"); +b.vertex=!0;var d=new mxCell("Tab 3",new mxGeometry(160,0,70,30),e+"forms.uRect;fontSize=17;fontColor=#666666;align=left;spacingLeft=5;strokeColor=#666666;fillColor=#ffffff;");d.vertex=!0;return c.createVertexTemplateFromCells([a,b,d],230,30,"Wedge Bar")}),this.createVertexTemplateEntry(a+"menus_and_buttons.font_style_selector_1;",136,31,"","Formatting Toolbar 1",null,null,this.getTagsForStencil("mxgraph.mockup.menus_and_buttons","font_style_selector_1","mockup form ").join(" ")),this.createVertexTemplateEntry(a+ "menus_and_buttons.font_style_selector_2;",235,31,"","Formatting Toolbar 2",null,null,this.getTagsForStencil("mxgraph.mockup.menus_and_buttons","font_style_selector_2","mockup form ").join(" ")),this.createVertexTemplateEntry(a+"menus_and_buttons.font_style_selector_3;",176,38,"","Formatting Toolbar 3",null,null,this.getTagsForStencil("mxgraph.mockup.menus_and_buttons","font_style_selector_3","mockup form ").join(" ")),this.createVertexTemplateEntry(e+"forms.searchBox;"+d+"mainText=;fillColor=#ffffff;strokeColor2=#008cff;fontColor=#666666;fontSize=17;align=left;spacingLeft=3;", 150,30,"Search","Search Box",null,null,this.getTagsForStencil("mxgraph.mockup.forms","searchBox","mockup form ").join(" ")),this.addDataEntry("mockup form sign in",200,300,"Sign In","7Vhtb9owEP41+TIJ5DgkLR8HG6jShpBQtc8uubysTowct8B+/RzHQILDFmm4TScsRYrPOft8z3N3sR1vmu3mnGyS7ywE6nhfHW/KGRPVW7abAqUORmnoeF8cjJF8HDy7MOqqUbQhHHLRRQFXCq+EvkAlqQSF2FMtKARnz/AjDUUiBa7jTYqEhGwrO0h2QlIkEOoOoWmcy/e1XB64FCQioyetTTlltovL7Q4ztn5+2QwjxrNiyDmspcETvkp/gZ6sWnjKKOPKEm+smhyJUkpr8kg1KdebAS5gd9EhSqS9MQeWgeB7+clWb7B0CqqchhJI40SreQchKSpBfNQ9+Ve+aBe3u9sz3L0qHYbRQ/4+fif5OindOIlYLrTvXaz7NRcHqtVWohApvKCQSg0jN2Sd5vE3Na6M64QK/isqbhsqmt6IAyUifYXG/G1I6SWWLJUrY3QwSE+zb3YPE7AoKkAYQB/t7IT9qEOoaahomkNbAIQhgCJ6kxu4CbiJybUQuG9BwLWCgGcDAd9A4LGQ0YLRgmRS8PkWgv0JwZENAgQGAX6yJA8ZfIii140OTfB9q/nAb6ODb4MOgQ063Bl0WJKi2DIe3pJBr5LB2LeA/r2B/ifdbtmg59nAdW0QYmwQYvUwX5Q/54t+MMI3GJEz9aN4RobjeejsnBQET0+VvJZcgkNfb+5fGbFvKNT40fbz6F0nXeAmPQZHKl6VHwcS1ggyYzxmpSGnwjHrd+Eo04fiwB8TBTojxejqieMiTdrTiJWyMnCtHPRc1+CJyYkenvQuQ/J2577B2Aoi5jXXArZSUJ3/+hyv3Qo7+j/j884KGVou4ao6/7i81fkPVeevUeZl93TdXn1ev43/DQ=="), this.addDataEntry("mockup form calendar date",160,175,"Calendar","7Zxdc6IwFIZ/DbdOPkDktu62V529cGd6zUoUp2CcSLe6v37Dh7bm0K2dLjk2kRlnIBCF9wnkvMmRgE/L3Z1KN/m9zEQR8O8Bnyopq3at3E1FUQSMrLKAfwsYI/oTsNs39tJmL9mkSqyrcyqwtsLvtHgSbUlbsK32RVewrZR8FA+rrMp1AQ34zTZPM/msN4jeyNJtLrJuIy1Wy7Ven+ufF0oX5FVZvNTa1F9Z7pb15Y5KOX982owWUpXbkVJirk/4Rs1Wf+qDorpC88NTWUjVnAlPmkXvWayK4lX5oll0eXcxQlVi96YgTVGnxp2QpajUXh/y3F1gfcS4FY3kYrXMD9XiqC1Mt23B8lj3RV+90kncLzcHcv+YV/KXlooRRmiII366nue1ljcLua769D5LV9ava1eBd5Lu281Ju/VadNIjetd6P6V52NPEx0V1vCzsph7+u6mfIiFkMm+ael3efQE9HDfrroT+H2STd4ixaBhgUR+w5RXYu8Aoi5GQjQGye+nus4yePsv6dB7oWRYDnX8+uaszR9N5AnR+EO7qHKHpnMD2nLurc4ym8+GJ9UroW+Wu0Ame0BQIPUvdFZridYUUWteZw30hxesMKXStFEdoMxInH4nEB4wAQ4swoJ29kCEbNBgcDwa0qtxzGBEeDGhCkcbTLgZGjAcDOtXIcxgJHgxoZ8eewzADV5s0oOmNfaeB14Uz6IwnvtM4hTG2CAO658RzGBwPBjTYh5bhLY0Ij0aPCffdhcd4NKALP4xHeUsjwaMBbTj13YebAa5NHNCIY2W2XA4OxH4cWnHquxc3bo6JRRrQi1PfzbiZG2aRBvTi1HczHqHR4NCLU9/NeIxHA5px6rsbT/BoQDfOfHfjZoxrEwe049dJcbx+nPfMivvux42bgxKLOKAh935inCPigIbc+9nYGBEHNOTez8cmiDigI79OyGJ2HtCTX6dkEXuPELpy72dlzdvDYjZuCG05990ImneHTRzQl3PfjWCEiMOxXHXjn+5ZJsT5/3T/WARsk5JjSewDUjIDY5uUHMtuH5ASiJdtYnIs731ITJiBgmMZ8UNiMihZTAcO4WDAlx6aGZCSeS/ZpORYCv2AlMxY3CKlCA4cfOlxHIuxuE1KjuXcW4zFbVKCwwxfOxnfZjBuk5Nrafo2o3GbnHpGIC7ZNS0WRC+Q0/HVh6enyiC544vIBggqhpuN0JsvL8Ns9p28K/Mv"), this.addDataEntry("mockup form calendar date",400,300,"Email","7VhLU9swEP41vmacOLyOJQEu9FLa6VnI61igF3qQ0F/fXcmGdJzMtAOmh8QzcbyrfX6fV05cVAu1uXHMtl9NDbKoropq4YwJ+UptFiBlMStFXVTLYjYr8VPMrvesTtNqaZkDHf7GYZYdnpmMkDXXzqis9OFFdkofnHmEn6IOLSqmRXXpW1abNQolCjXzLdSdwKRYabzmWAI4VLRByTcvSyHVZkUtT5Thj9FOGuOUnzDNW+O2IjixagN5WcaFXn3L4nKGqsbosDCSzLG+6jQdqO/aARdgsxeSpOrwuAGjILgXNFl37eHqSUatbKHLSV7nWcd8llevnm/44kUH8W64qwHcD6bVxbx8yHjw/4W9c8AJ6kZIuYVrkw7UuzvxC7ok+7Dvk0totli7TdKyIk3qZMv1Ih3vpG3zJ2VbLFZj0Tgf0HgX7x8IwYMcnJce7gEDYxFwMiDgxgEE7PU4Pu8bn/1cjjZNpwMyv5uDHqSz4VY2FvZnA+wbhzgeH0gfPlE7SB1tos4HrC4WBz1R0/Lznk0XA/CPE/QhE7SLxNFGaFoOaLw89CGaf95zaTo9TtFIU7SDxfGmaPh+4dY4UGRifaTvOnWNxIpAyTBFMcO4JTfaI/QQIq2yWljhBU+/8EuQorPyyDDFIKWIXhkSAyibYgrNRS3qqCl0pJNk95ifrEOfmyTFVppRGimeIpvg1Q9aBy1USk4mIgvPqGQqZ3+KwuOXNkhgJCPYgOMisCCMppRSMsVNnzcbYxt9NSmdsMmRTiz1rbAL0yOA5QSqZ5lTsRioXuFiqrsHT1A2B9ZBC7oGl7BMymcjo8WCIJWecCvBexI53tJvFCRQIp6auBKMzDSVn281VERHZVxtONgAMTOWcDWcM+DJg0crahayd0LAOiNqulEzW5mJVBiP0rKMIQVpGiSX5Bo8uGynjMwFswy9SBD7Vx6jmhzkpkDbgeBMfulCBGNRu25FgDsMQ5nXWPQH7fpnw6fuvNy1X/T/yv9hwyjodWP/rjOt/fEq9Dc=")]; -this.addPalette("mockupForms","Mockup Forms",!1,mxUtils.bind(this,function(b){for(var a=0;a=d&&(mxUtils.br(m),k=0)}d=null!=d?d:2;var e=document.createElement("div");e.style.textAlign="center";e.style.whiteSpace="nowrap";e.style.paddingTop="0px";e.style.paddingBottom="20px";var f=a.addLanguageMenu(e,!0);null!=f&&(f.style.bottom=parseInt("28px")-2+"px");if(!a.isOffline()&&1b.length){var k=mxUtils.button("",function(){tr " max)");k.style.verticalAlign="bottom";k.style.paddingTop="4px";k.style.minWidth="46px";k.className="geBtn";h.appendChild(k)}7168>b.length&&(k=mxUtils.button("",function(){try{var b="https://twitter.com/intent/tweet?text="+encodeURIComponent("Check out the diagram I made using @drawio")+"&url="+encodeURIComponent(l.value);a.openLink(b)}catch(q){a.handleError({message:q.message||mxResources.get("drawingTooLarge")})}}),g=document.createElement("img"),g.setAttribute("src",Editor.tweetImage),g.setAttribute("width", "18"),g.setAttribute("height","18"),g.setAttribute("border","0"),g.style.marginBottom="5px",k.appendChild(g),k.setAttribute("title",mxResources.get("twitter")+" ("+a.formatFileSize(7168)+" max)"),k.style.verticalAlign="bottom",k.style.paddingTop="4px",k.style.minWidth="46px",k.className="geBtn",h.appendChild(k))}g=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});h.appendChild(g);k=mxUtils.button(mxResources.get("copy"),function(){l.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode|| mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});5E5>b.length?mxClient.IS_SF||null!=document.documentMode?g.className="geBtn gePrimaryBtn":(h.appendChild(k),k.className="geBtn gePrimaryBtn",g.className="geBtn"):(h.appendChild(m),g.className="geBtn",m.className="geBtn gePrimaryBtn");c.appendChild(h);this.container=c};EmbedDialog.showPreviewOption=!0; -var GoogleSitesDialog=function(a,b){function d(){var a=null!=w.getTitle()?w.getTitle():this.defaultFilename;if(x.checked&&""!=q.value){var b="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(q.value));null!=a&&(b+="&title="+encodeURIComponent(a));0");2<=G.length&&(h=m(G[0]),l=m(G[G.length-1]),G=new mxCell(2");2<=H.length&&(h=m(H[0]),l=m(H[H.length-1]),H=new mxCell(2 Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":"plantUmlSvg"==l.value||"plantUmlTxt"==l.value? "@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":";Example:\na->b\nb->edge label->c\nc->a\n"}var e=a.editor.graph.getFreeInsertPoint(),f=document.createElement("div");f.style.textAlign="right";var h=document.createElement("textarea");h.style.resize="none";h.style.width="100%";h.style.height="354px";h.style.marginBottom="16px"; var l=document.createElement("select"),m=document.createElement("option");m.setAttribute("value","list");m.setAttribute("selected","selected");mxUtils.write(m,mxResources.get("list"));l.appendChild(m);m=document.createElement("option");m.setAttribute("value","table");mxUtils.write(m,mxResources.get("table"));l.appendChild(m);m=document.createElement("option");m.setAttribute("value","diagram");mxUtils.write(m,mxResources.get("diagram"));l.appendChild(m);m=document.createElement("option");m.setAttribute("value", "plantUmlSvg");mxUtils.write(m,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");var g=document.createElement("option");g.setAttribute("value","plantUmlPng");mxUtils.write(g,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+")");var k=document.createElement("option");k.setAttribute("value","plantUmlTxt");mxUtils.write(k,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!a.isOffline()&&(l.appendChild(m),l.appendChild(g), l.appendChild(k));var n=c();h.value=n;f.appendChild(h);this.init=function(){h.focus()};Graph.fileSupport&&(h.addEventListener("dragover",function(a){a.stopPropagation();a.preventDefault()},!1),h.addEventListener("drop",function(a){a.stopPropagation();a.preventDefault();if(0=a.getStatus()&&(z(n,a.getText(),b),f&&y())}))});mxEvent.addListener(n,"dblclick",function(a){f=!0})}else n.innerHTML='
'+mxResources.get(c)+"
",g&&z(n),null!=t?mxEvent.addListener(n,"click",t):(mxEvent.addListener(n,"click",function(a){z(n)}),mxEvent.addListener(n,"dblclick",function(a){y()})); -I.appendChild(n)}function A(){mxEvent.addListener(I,"scroll",function(a){I.scrollTop+I.clientHeight>=I.scrollHeight&&(v(),mxEvent.consume(a))});var a=null,b;for(b in V){var c=document.createElement("div"),d=mxResources.get(b),k=V[b];null==d&&(d=b.substring(0,1).toUpperCase()+b.substring(1));18b.lastIndexOf(".")&&0>k){var c=null!=c?c:w.value,t="";c==App.MODE_GOOGLE?t=a.drive.extension:c==App.MODE_GITHUB?t=a.gitHub.extension:c==App.MODE_TRELLO?t=a.trello.extension:c==App.MODE_DROPBOX?t=a.dropbox.extension:c==App.MODE_ONEDRIVE?t=a.oneDrive.extension:c==App.MODE_DEVICE&&(t=".xml");0<=k&&(d=d.substring(0, -k));A.value=d+t}}y(g)})}var t=document.createElement("a");t.style.overflow="hidden";var f=document.createElement("img");f.src=c;f.setAttribute("border","0");f.setAttribute("align","absmiddle");f.style.width="60px";f.style.height="60px";f.style.paddingBottom="6px";t.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";t.className="geBaseButton";t.style.position="relative";t.style.margin="4px";t.style.padding="8px 8px 10px 8px";t.style.whiteSpace="nowrap";t.appendChild(f);mxClient.IS_QUIRKS&&(t.style.cssFloat= -"left",t.style.zoom="1");t.style.color="gray";t.style.fontSize="11px";var u=document.createElement("div");t.appendChild(u);mxUtils.write(u,d);if(null!=k&&null==a[k]){f.style.visibility="hidden";mxUtils.setOpacity(u,10);var q=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});q.spin(t);var p=window.setTimeout(function(){null==a[k]&&(q.stop(),t.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this, -function(){null!=a[k]&&(window.clearTimeout(p),mxUtils.setOpacity(u,100),f.style.visibility="",q.stop(),e())}))}else e();x.appendChild(t);++C==n&&(mxUtils.br(x),C=0)}function y(b){var c=A.value;if(null==b||null!=c&&0=a.getStatus()&&(y(n,a.getText(),b),f&&x())}))});mxEvent.addListener(n,"dblclick",function(a){f=!0})}else n.innerHTML='
'+mxResources.get(c)+"
",g&&y(n),null!=t?mxEvent.addListener(n,"click",t):(mxEvent.addListener(n,"click",function(a){y(n)}),mxEvent.addListener(n,"dblclick",function(a){x()})); +I.appendChild(n)}function z(){mxEvent.addListener(I,"scroll",function(a){I.scrollTop+I.clientHeight>=I.scrollHeight&&(w(),mxEvent.consume(a))});var a=null,b;for(b in V){var c=document.createElement("div"),d=mxResources.get(b),k=V[b];null==d&&(d=b.substring(0,1).toUpperCase()+b.substring(1));18b.lastIndexOf(".")&&0>k){var c=null!=c?c:v.value,t="";c==App.MODE_GOOGLE?t=a.drive.extension:c==App.MODE_GITHUB?t=a.gitHub.extension:c==App.MODE_TRELLO?t=a.trello.extension:c==App.MODE_DROPBOX?t=a.dropbox.extension:c==App.MODE_ONEDRIVE?t=a.oneDrive.extension: +c==App.MODE_DEVICE&&(t=".xml");0<=k&&(d=d.substring(0,k));z.value=d+t}}x(g)})}var t=document.createElement("a");t.style.overflow="hidden";var f=document.createElement("img");f.src=c;f.setAttribute("border","0");f.setAttribute("align","absmiddle");f.style.width="60px";f.style.height="60px";f.style.paddingBottom="6px";t.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";t.className="geBaseButton";t.style.position="relative";t.style.margin="4px";t.style.padding="8px 8px 10px 8px";t.style.whiteSpace= +"nowrap";t.appendChild(f);mxClient.IS_QUIRKS&&(t.style.cssFloat="left",t.style.zoom="1");t.style.color="gray";t.style.fontSize="11px";var u=document.createElement("div");t.appendChild(u);mxUtils.write(u,d);if(null!=k&&null==a[k]){f.style.visibility="hidden";mxUtils.setOpacity(u,10);var q=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});q.spin(t);var p=window.setTimeout(function(){null==a[k]&&(q.stop(),t.style.display= +"none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[k]&&(window.clearTimeout(p),mxUtils.setOpacity(u,100),f.style.visibility="",q.stop(),e())}))}else e();F.appendChild(t);++C==n&&(mxUtils.br(F),C=0)}function x(b){var c=z.value;if(null==b||null!=c&&0JGraph Ltd
.
All Rights Reserved.'; b.appendChild(d);mxEvent.addListener(b,"click",function(b){"A"!=mxEvent.getSource(b).nodeName&&a.hideDialog()});this.container=b},FeedbackDialog=function(a){var b=document.createElement("div"),d=document.createElement("div");mxUtils.write(d,mxResources.get("sendYourFeedbackToDrawIo"));d.style.fontSize="18px";d.style.marginBottom="18px";b.appendChild(d);d=document.createElement("div");mxUtils.write(d,mxResources.get("yourEmailAddress")+" ("+mxResources.get("required")+")");b.appendChild(d);var c=document.createElement("input"); c.setAttribute("type","text");c.style.marginTop="6px";c.style.width="600px";var e=mxUtils.button(mxResources.get("sendMessage"),function(){var b=(h.checked?"\nDiagram:\n"+a.getFileData():"")+"\nBrowser:\n"+navigator.userAgent;b.length>FeedbackDialog.maxAttachmentSize?a.alert(mxResources.get("drawingTooLarge")):(a.hideDialog(),a.spinner.spin(document.body)&&mxUtils.post(null!=FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(c.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+ @@ -6610,36 +6680,36 @@ mxEvent.addListener(c,"change",function(){0':(f.innerHTML="
",mxUtils.write(f,mxResources.get("noPreview"))),null!=h&&(h.style.backgroundColor=""),h=c,h.style.backgroundColor="dark"==uiTheme?"#505759":"#ebf2f9",null!=a&&mxEvent.consume(a)};mxEvent.addListener(c,"click",n);mxEvent.addListener(c,"dblclick",function(a){k.checked=!k.checked;mxEvent.consume(a)});l.push(function(){return k.checked?b.id:null});0==g&&0==d&&n()})(b.entries[d])})(d[g]); c.style.padding="30px";c.appendChild(b);c.appendChild(e);c.appendChild(f);d=document.createElement("div");d.className="geDialogFooter";d.style.position="absolute";d.style.paddingRight="16px";d.style.color="gray";d.style.left="0px";d.style.right="0px";d.style.bottom="0px";d.style.height="60px";d.style.lineHeight="52px";mxClient.IS_QUIRKS&&(d.style.width=b.style.width,d.style.paddingTop="12px");var k=document.createElement("input");k.setAttribute("type","checkbox");if(isLocalStorage||mxClient.IS_CHROMEAPP)b= document.createElement("span"),b.style.paddingRight="20px",b.appendChild(k),mxUtils.write(b," "+mxResources.get("rememberThisSetting")),k.checked=!0,k.defaultChecked=!0,mxEvent.addListener(b,"click",function(a){mxEvent.getSource(a)!=k&&(k.checked=!k.checked,mxEvent.consume(a))}),mxClient.IS_QUIRKS&&(b.style.position="relative",b.style.top="-6px"),d.appendChild(b);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});b.className="geBtn";var n=mxUtils.button(mxResources.get("apply"), -function(){a.hideDialog();for(var b=[],c=0;ca.maxImageSize||n>a.maxImageSize){var w=Math.min(1,Math.min(a.maxImageSize/Math.max(1,e)),a.maxImageSize/Math.max(1,n));e*=w;n*=w}B>C?(C=Math.round(100* -C/B),B=100):(B=Math.round(100*B/C),C=100);var F=document.createElement("div");F.setAttribute("draggable","true");F.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";F.style.position="relative";F.style.cursor="move";mxUtils.setPrefixedStyle(F.style,"transition","transform .1s ease-in-out");if(null!=b){var L=document.createElement("img");L.setAttribute("src",A.convert(b));L.style.width=B+"px";L.style.height=C+"px";L.style.margin="10px";L.style.paddingBottom=Math.floor((100-C)/2)+"px";L.style.paddingLeft= -Math.floor((100-B)/2)+"px";F.appendChild(L)}else if(null!=f){var K=a.stringToCells(a.editor.graph.decompress(f.xml));0y?z-1:z,0,k.splice(y,1)[0]),u.insertBefore(u.children[y],u.children[z])):(k.push(k.splice(y,1)[0]),u.appendChild(u.children[y]));else if(0a.maxImageSize||n>a.maxImageSize){var v=Math.min(1,Math.min(a.maxImageSize/Math.max(1,e)),a.maxImageSize/Math.max(1,n));e*=v;n*=v}A>C?(C=Math.round(100* +C/A),A=100):(A=Math.round(100*A/C),C=100);var B=document.createElement("div");B.setAttribute("draggable","true");B.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";B.style.position="relative";B.style.cursor="move";mxUtils.setPrefixedStyle(B.style,"transition","transform .1s ease-in-out");if(null!=b){var K=document.createElement("img");K.setAttribute("src",z.convert(b));K.style.width=A+"px";K.style.height=C+"px";K.style.margin="10px";K.style.paddingBottom=Math.floor((100-C)/2)+"px";K.style.paddingLeft= +Math.floor((100-A)/2)+"px";B.appendChild(K)}else if(null!=f){var G=a.stringToCells(a.editor.graph.decompress(f.xml));0x?y-1:y,0,k.splice(x,1)[0]),u.insertBefore(u.children[x],u.children[y])):(k.push(k.splice(x,1)[0]),u.appendChild(u.children[x]));else if(0= c.status&&(l(c.responseText,d,g,k,e,n,t,"fixed",mxEvent.isAltDown(b)?null:t.substring(0,t.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight))})):(l(c,d,g,k,e,n,t,"fixed",mxEvent.isAltDown(b)?null:t.substring(0,t.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight)}};mxEvent.addListener(u,"dragover",m);mxEvent.addListener(u,"drop",g);mxEvent.addListener(p,"dragover",m);mxEvent.addListener(p,"drop",g);d.appendChild(u);c=document.createElement("div");c.style.textAlign="right"; c.style.marginTop="20px";b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});b.setAttribute("id","btnCancel");b.className="geBtn";a.editor.cancelFirst&&c.appendChild(b);n=mxUtils.button(mxResources.get("export"),function(){var b=a.createLibraryDataFromImages(k),c=q.value;/(\.xml)$/i.test(c)||(c+=".xml");a.isLocalFileSave()?a.saveLocalFile(b,c,"text/xml",null,null,!0):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(c)+"&format=xml&xml="+encodeURIComponent(b))).simulate(document, -"_blank")});n.setAttribute("id","btnDownload");n.className="geBtn";c.appendChild(n);var w=document.createElement("input");w.setAttribute("multiple","multiple");w.setAttribute("type","file");null==document.documentMode&&(mxEvent.addListener(w,"change",function(b){x=!1;a.importFiles(w.files,0,0,a.maxImageSize,function(a,c,d,g,k,e,n,t,f){C(b)(a,c,d,g,k,e,n,t,f);w.value=""});u.scrollTop=u.scrollHeight}),n=mxUtils.button(mxResources.get("import"),function(){null!=t&&(t(),t=null);w.click()}),n.setAttribute("id", -"btnAddImage"),n.className="geBtn",c.appendChild(n));n=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=t&&(t(),t=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(a,b,c){x=!1;if(null!=a){if("data:image/"==a.substring(0,11)){var d=a.indexOf(",");0%position%
Email\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node width. Possible value are px or auto. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value are px or auto. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between parallel edges. Default is 40.\n#\n# edgespacing: 40\n#\n## Name of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle. Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nEvan Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nRon Donovan,System Admin,rdo,Office 3,Evan Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nTessa Valet,HR Director,tva,Office 4,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\n'; +Editor.defaultCustomLibraries=[];Editor.defaultCsvValue='##\n## Example CSV import. Use ## for comments and # for configuration. Paste CSV below.\n## The following names are reserved and should not be used (or ignored):\n## id, tooltip, placeholder(s), link and label (see below)\n##\n#\n## Node label with placeholders and HTML.\n## Default is \'%name_of_first_column%\'.\n#\n# label: %name%
%position%
Email\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between parallel edges. Default is 40.\n#\n# edgespacing: 40\n#\n## Name of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle. Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nEvan Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nRon Donovan,System Admin,rdo,Office 3,Evan Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nTessa Valet,HR Director,tva,Office 4,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\n'; Editor.shadowOptionEnabled=!0;Editor.configure=function(a){if(null!=a){Editor.configVersion=a.version;Menus.prototype.defaultFonts=a.defaultFonts||Menus.prototype.defaultFonts;ColorDialog.prototype.presetColors=a.presetColors||ColorDialog.prototype.presetColors;ColorDialog.prototype.defaultColors=a.defaultColors||ColorDialog.prototype.defaultColors;StyleFormatPanel.prototype.defaultColorSchemes=a.defaultColorSchemes||StyleFormatPanel.prototype.defaultColorSchemes;Graph.prototype.defaultEdgeLength= a.defaultEdgeLength||Graph.prototype.defaultEdgeLength;if(null!=a.css){var b=document.createElement("style");b.setAttribute("type","text/css");b.appendChild(document.createTextNode(a.css));var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}null!=a.defaultLibraries&&(Sidebar.prototype.defaultEntries=a.defaultLibraries);null!=a.defaultCustomLibraries&&(Editor.defaultCustomLibraries=a.defaultCustomLibraries);null!=a.defaultVertexStyle&&(Graph.prototype.defaultVertexStyle= a.defaultVertexStyle);null!=a.defaultEdgeStyle&&(Graph.prototype.defaultEdgeStyle=a.defaultEdgeStyle);a.emptyDiagramXml&&(EditorUi.prototype.emptyDiagramXml=a.emptyDiagramXml);a.thumbWidth&&(Sidebar.prototype.thumbWidth=a.thumbWidth);a.thumbHeight&&(Sidebar.prototype.thumbHeight=a.thumbHeight);a.emptyLibraryXml&&(EditorUi.prototype.emptyLibraryXml=a.emptyLibraryXml);a.sidebarWidth&&(EditorUi.prototype.hsplitPosition=a.sidebarWidth);a.fontCss&&(b=document.createElement("style"),b.setAttribute("type", @@ -6719,13 +6789,13 @@ null;if(null!=b){var c=b.getElementsByTagName("parsererror");if(null!=c&&0'),b.writeln(a.editor.fontCss),b.writeln(""))};if("undefined"!==typeof MathJax){var l=c.renderPage;c.renderPage= -function(a,b,c,d,g,k){var e=l.apply(this,arguments);this.graph.mathEnabled?this.mathEnabled=!0:e.className="geDisableMathJax";return e}}c.open(null,null,g,!0)}else{f=b.background;if(null==f||""==f||f==mxConstants.NONE)f="#ffffff";c.backgroundColor=f;c.autoOrigin=h;c.appendGraph(b,t,e,n,g,!0)}return c}var d=parseInt(W.value)/100;isNaN(d)&&(d=1,W.value="100 %");var d=.75*d,k=u.value,e=p.value,n=!q.checked,t=null;n&&(n=k==f&&e==f);if(!n&&null!=a.pages&&a.pages.length){var h=0,n=a.pages.length-1;q.checked|| -(h=parseInt(k)-1,n=parseInt(e)-1);for(var l=h;l<=n;l++){var m=a.pages[l],k=m==a.currentPage?g:null;if(null==k){var k=a.createTemporaryGraph(g.getStylesheet()),e=!0,h=!1,A=null,v=null;null==m.viewState&&null==m.mapping&&null==m.root&&a.updatePageRoot(m);null!=m.viewState?(e=m.viewState.pageVisible,h=m.viewState.mathEnabled,A=m.viewState.background,v=m.viewState.backgroundImage):null!=m.mapping&&null!=m.mapping.diagramMap&&(h="0"!=m.mapping.diagramMap.get("mathEnabled"),A=m.mapping.diagramMap.get("background"), -v=m.mapping.diagramMap.get("backgroundImage"),v=null!=v&&0'),n.writeln("MathJax.Hub.Config({"),n.writeln('messageStyle: "none",'),n.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),n.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),n.writeln("TeX: {"),n.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),n.writeln("},"),n.writeln("tex2jax: {"),n.writeln('\tignoreClass: "geDisableMathJax"'),n.writeln("},"), n.writeln("asciimath2jax: {"),n.writeln('\tignoreClass: "geDisableMathJax"'),n.writeln("}"),n.writeln("});"),b&&(n.writeln("MathJax.Hub.Queue(function () {"),n.writeln("window.print();"),n.writeln("});")),n.writeln("\x3c/script>"),n.writeln('