5.7.2.5 release

Former-commit-id: a80c939a6f
This commit is contained in:
Gaudenz Alder 2016-10-31 09:22:12 +01:00
parent 77871fbf5f
commit dbd192ef09
20 changed files with 554 additions and 357 deletions

View file

@ -1,3 +1,12 @@
31-OCT-2016: 5.7.2.5
- Makes recent colors persistent
- Uses first unlocked layer for multiple pages
28-OCT-2016: 5.7.2.4
- Fixes Gliffy line imports with less than 2 waypoints
28-OCT-2016: 5.7.2.3
- Prepares multiple pages per file

View file

@ -1 +1 @@
5.7.2.3
5.7.2.5

View file

@ -32,7 +32,7 @@
<echo file="${war.dir}/cache.manifest" append="false">CACHE MANIFEST${line.separator}${line.separator}</echo>
<echo file="${war.dir}/cache.manifest" append="true"># THIS FILE WAS GENERATED. DO NOT MODIFY!${line.separator}</echo>
<echo file="${war.dir}/cache.manifest" append="true"># ${time.stamp}${line.separator}${line.separator}</echo>
<concat destfile="${war.dir}/cache.manifest" fixlastline="yes" append="yes">
<concat destfile="${war.dir}/cache.manifest" fixlastline="yes" append="true">
<fileset dir="${basedir}" includes="cache.txt"/>
</concat>
@ -48,13 +48,13 @@
<delete file=".tmp1.js"/>
<copy file="${war.dir}/styles/default.xml" tofile=".tmp1.xml" overwrite="true"/>
<replaceregexp file=".tmp1.xml" match="\n" flags="g" replace=""/>
<replaceregexp file=".tmp1.xml" match="${line.separator}" flags="g" replace=""/>
<replaceregexp file=".tmp1.xml" match="\t" flags="g" replace=""/>
<replaceregexp file=".tmp1.xml" match="'" replace="\\\\'" byline="true"/>
<delete file="Graph-Stylesheet.js"/>
<echo file="Graph-Stylesheet.js">Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName] = mxUtils.parseXml('</echo>
<concat destfile="Graph-Stylesheet.js" fixlastline="no" append="yes">
<concat destfile="Graph-Stylesheet.js" fixlastline="no" append="true">
<file name=".tmp1.xml" />
</concat>
<echo file="Graph-Stylesheet.js" append="true">').documentElement;</echo>

View file

@ -291,37 +291,60 @@ private:
}
}
kj::StringPtr inferContentType(kj::StringPtr filename) {
if (filename.endsWith(".html")) {
return "text/html; charset=UTF-8";
} else if (filename.endsWith(".js")) {
return "text/javascript; charset=UTF-8";
} else if (filename.endsWith(".css")) {
return "text/css; charset=UTF-8";
} else if (filename.endsWith(".png")) {
return "image/png";
} else if (filename.endsWith(".gif")) {
return "image/gif";
} else if (filename.endsWith(".jpg") || filename.endsWith(".jpeg")) {
return "image/jpeg";
} else if (filename.endsWith(".svg")) {
return "image/svg+xml; charset=UTF-8";
} else if (filename.endsWith(".txt")) {
return "text/plain; charset=UTF-8";
} else {
return "application/octet-stream";
struct ContentType {
kj::StringPtr type;
kj::StringPtr encoding;
ContentType(kj::StringPtr type): type(type), encoding(nullptr) {}
ContentType(const char* type): type(type), encoding(nullptr) {}
ContentType() = default;
};
ContentType inferContentType(kj::StringPtr filename) {
ContentType result;
kj::String scratch;
if (filename.endsWith(".gz")) {
result.encoding = "gzip";
scratch = kj::str(filename.slice(0, filename.size() - 3));
filename = scratch;
}
if (filename.endsWith(".html")) {
result.type = "text/html; charset=UTF-8";
} else if (filename.endsWith(".js")) {
result.type = "text/javascript; charset=UTF-8";
} else if (filename.endsWith(".css")) {
result.type = "text/css; charset=UTF-8";
} else if (filename.endsWith(".png")) {
result.type = "image/png";
} else if (filename.endsWith(".gif")) {
result.type = "image/gif";
} else if (filename.endsWith(".jpg") || filename.endsWith(".jpeg")) {
result.type = "image/jpeg";
} else if (filename.endsWith(".svg")) {
result.type = "image/svg+xml; charset=UTF-8";
} else if (filename.endsWith(".txt")) {
result.type = "text/plain; charset=UTF-8";
} else {
result.type = "application/octet-stream";
}
return result;
}
kj::Promise<void> readFile(
kj::StringPtr filename, GetContext context, kj::StringPtr contentType) {
kj::StringPtr filename, GetContext context, ContentType contentType) {
KJ_IF_MAYBE(fd, tryOpen(filename, O_RDONLY)) {
auto size = getFileSize(*fd, filename);
kj::FdInputStream stream(kj::mv(*fd));
auto response = context.getResults(capnp::MessageSize { size / sizeof(capnp::word) + 32, 0 });
auto content = response.initContent();
content.setStatusCode(sandstorm::WebSession::Response::SuccessCode::OK);
content.setMimeType(contentType);
content.setMimeType(contentType.type);
if (contentType.encoding != nullptr) {
content.setEncoding(contentType.encoding);
}
stream.read(content.getBody().initBytes(size).begin(), size);
return kj::READY_NOW;
} else {
@ -417,4 +440,3 @@ private:
} // anonymous namespace
KJ_MAIN(ServerMain)

View file

@ -305,7 +305,7 @@
}
else
{
mxscript('js/app.min.js');
mxscript('js/app.min.js.gz');
//mxscript('js/sandstorm/SandstormFile.js');
}

View file

@ -25,6 +25,7 @@ mkdir -p build/.sandstorm/client/img
cp -rf ../../war/img/* build/.sandstorm/client/img/
mkdir -p build/.sandstorm/client/js
cp -rf ../../war/js/* build/.sandstorm/client/js/
gzip -c build/.sandstorm/client/js/app.min.js > build/.sandstorm/client/js/app.min.js.gz
mkdir -p build/.sandstorm/client/mxgraph
cp -rf ../../war/mxgraph/* build/.sandstorm/client/mxgraph/
mkdir -p build/.sandstorm/client/plugins

View file

@ -1,3 +1,7 @@
/**
* Copyright (c) 2006-2016, JGraph Ltd
* Copyright (c) 2006-2016, Gaudenz Alder
*/
package com.mxgraph.io.gliffy.importer;
import java.io.UnsupportedEncodingException;
@ -26,7 +30,7 @@ import com.mxgraph.io.gliffy.model.Graphic.GliffyLine;
import com.mxgraph.io.gliffy.model.Graphic.GliffyMindmap;
import com.mxgraph.io.gliffy.model.Graphic.GliffyShape;
import com.mxgraph.io.gliffy.model.Graphic.GliffySvg;
import com.mxgraph.io.gliffy.model.Object;
import com.mxgraph.io.gliffy.model.GliffyObject;
import com.mxgraph.model.mxCell;
import com.mxgraph.model.mxGeometry;
import com.mxgraph.model.mxICell;
@ -47,7 +51,8 @@ import com.mxgraph.view.mxGraphHeadless;
*
*
*/
public class GliffyDiagramConverter {
public class GliffyDiagramConverter
{
Logger logger = Logger.getLogger("GliffyDiagramConverter");
private String diagramString;
@ -56,7 +61,7 @@ public class GliffyDiagramConverter {
private mxGraphHeadless drawioDiagram;
private Map<Integer, Object> vertices;
private Map<Integer, GliffyObject> vertices;
/**
* Constructs a new converter and starts a conversion.
@ -64,17 +69,16 @@ public class GliffyDiagramConverter {
* @param gliffyDiagramString
* JSON string of a gliffy diagram
*/
public GliffyDiagramConverter(String gliffyDiagramString) {
vertices = new LinkedHashMap<Integer, Object>();
public GliffyDiagramConverter(String gliffyDiagramString)
{
vertices = new LinkedHashMap<Integer, GliffyObject>();
this.diagramString = gliffyDiagramString;
drawioDiagram = new mxGraphHeadless();
start();
}
private void start() {
private void start()
{
// creates a diagram object from the JSON string
this.gliffyDiagram = new GsonBuilder().create().fromJson(diagramString, Diagram.class);
@ -85,22 +89,27 @@ public class GliffyDiagramConverter {
drawioDiagram.getModel().beginUpdate();
try {
for (Object obj : gliffyDiagram.stage.getObjects()) {
try
{
for (GliffyObject obj : gliffyDiagram.stage.getObjects())
{
importObject(obj, obj.parent);
}
} finally {
}
finally
{
drawioDiagram.getModel().endUpdate();
}
}
@SuppressWarnings("unused")
private void correctLineEndings() {
private void correctLineEndings()
{
java.lang.Object[] edges = drawioDiagram.getAllEdges(new java.lang.Object[] { drawioDiagram.getDefaultParent() });
for (int i = 0; i < edges.length; i++) {
for (int i = 0; i < edges.length; i++)
{
mxCell edge = (mxCell) edges[i];
mxICell source = edge.getTerminal(true);
@ -108,35 +117,44 @@ public class GliffyDiagramConverter {
mxPoint srcP = edge.getGeometry().getSourcePoint();
mxPoint trgtP = edge.getGeometry().getTargetPoint();
if (target != null) {
if (trgtP != null)
System.out.println(target.getGeometry().contains(trgtP.getX(), trgtP.getY()));
if (srcP != null)
System.out.println(source.getGeometry().contains(srcP.getX(), srcP.getY()));
}
// TODO should this be logging instead?
// if (target != null)
// {
// if (trgtP != null)
// System.out.println(target.getGeometry().contains(trgtP.getX(), trgtP.getY()));
// if (srcP != null)
// System.out.println(source.getGeometry().contains(srcP.getX(), srcP.getY()));
// }
}
}
/**
* Imports the objects into the draw.io diagram. Recursively adds the children
*/
private void importObject(Object obj, Object gliffyParent) {
private void importObject(GliffyObject obj, GliffyObject gliffyParent)
{
mxCell parent = gliffyParent != null ? gliffyParent.mxObject : null;
if (!obj.isLine()) {
if (!obj.isLine())
{
drawioDiagram.addCell(obj.mxObject, parent);
if (obj.hasChildren()) {
if (!obj.isSwimlane())// sort the children except for swimlanes, // their order value is "auto"
if (obj.hasChildren())
{
if (!obj.isSwimlane())
{
// sort the children except for swimlanes
// their order value is "auto"
sortObjectsByOrder(obj.children);
for (Object child : obj.children) {
}
for (GliffyObject child : obj.children) {
importObject(child, obj);
}
}
} else {
}
else
{
// gets the terminal cells for the edge
mxCell startTerminal = getTerminalCell(obj, true);
mxCell endTerminal = getTerminalCell(obj, false);
@ -147,20 +165,28 @@ public class GliffyDiagramConverter {
}
}
private void sortObjectsByOrder(Collection<Object> values) {
Collections.sort((List<Object>) values, new Comparator<Object>() {
public int compare(Object o1, Object o2) {
private void sortObjectsByOrder(Collection<GliffyObject> values)
{
Collections.sort((List<GliffyObject>) values, new Comparator<GliffyObject>()
{
public int compare(GliffyObject o1, GliffyObject o2)
{
Float o1o;
Float o2o;
try {
if(o1.order == null || o2.order == null)
try
{
if (o1.order == null || o2.order == null)
{
return 0;
}
o1o = Float.parseFloat(o1.order);
o2o = Float.parseFloat(o2.order);
return o1o.compareTo(o2o);
} catch (NumberFormatException e) {
}
catch (NumberFormatException e)
{
return o1.order.compareTo(o2.order);
}
@ -168,25 +194,31 @@ public class GliffyDiagramConverter {
});
}
private mxCell getTerminalCell(Object gliffyEdge, boolean start) {
private mxCell getTerminalCell(GliffyObject gliffyEdge, boolean start)
{
Constraints cons = gliffyEdge.getConstraints();
if (cons == null) {
if (cons == null)
{
return null;
}
Constraint con = start ? cons.getStartConstraint() : cons.getEndConstraint();
if (con == null) {
if (con == null)
{
return null;
}
ConstraintData cst = start ? con.getStartPositionConstraint() : con.getEndPositionConstraint();
int nodeId = cst.getNodeId();
Object gliffyEdgeTerminal = vertices.get(nodeId);
GliffyObject gliffyEdgeTerminal = vertices.get(nodeId);
//edge could be terminated with another edge, so import it as a dangling edge
if(gliffyEdgeTerminal == null)
{
return null;
}
mxCell mxEdgeTerminal = gliffyEdgeTerminal.getMxObject();
@ -196,32 +228,44 @@ public class GliffyDiagramConverter {
/**
*
*/
private void applyControlPoints(Object object, mxCell startTerminal, mxCell endTerminal) {
private void applyControlPoints(GliffyObject object, mxCell startTerminal, mxCell endTerminal)
{
mxCell cell = object.getMxObject();
mxGeometry geo = drawioDiagram.getModel().getGeometry(cell);
geo.setRelative(true);
List<float[]> points = object.getGraphic().getLine().controlPath;
if (points.size() < 2)
{
return;
}
List<mxPoint> mxPoints = new ArrayList<mxPoint>();
for (float[] point : points) {
for (float[] point : points)
{
mxPoints.add(new mxPoint((int) point[0] + (int) object.x, (int) point[1] + (int) object.y));
}
if (startTerminal == null) {
if (startTerminal == null)
{
mxPoint first = mxPoints.get(0);
geo.setTerminalPoint(first, true);
mxPoints.remove(first);// remove first so it doesn't become a waypoint
}
if (endTerminal == null) {
if (endTerminal == null)
{
mxPoint last = mxPoints.get(mxPoints.size() - 1);
geo.setTerminalPoint(last, false);
mxPoints.remove(last);// remove last so it doesn't become a waypoint
}
if (!mxPoints.isEmpty())
{
geo.setPoints(mxPoints);
}
drawioDiagram.getModel().setGeometry(cell, geo);
}
@ -230,20 +274,24 @@ public class GliffyDiagramConverter {
* Creates a map of all vertices so they can be easily accessed when looking
* up terminal cells for edges
*/
private void collectVerticesAndConvert(Map<Integer, Object> vertices, Collection<Object> objects, Object parent) {
for (Object object : objects) {
private void collectVerticesAndConvert(Map<Integer, GliffyObject> vertices, Collection<GliffyObject> objects, GliffyObject parent)
{
for (GliffyObject object : objects)
{
object.parent = parent;
convertGliffyObject(object, parent);
if(!object.isLine())
{
vertices.put(object.id, object);
}
// don't collect for swimlanes and mindmaps, their children are treated differently
if (object.isGroup())
{
collectVerticesAndConvert(vertices, object.children, object);
}
}
}
@ -253,7 +301,8 @@ public class GliffyDiagramConverter {
* @return
* @throws UnsupportedEncodingException
*/
public String getGraphXml() {
public String getGraphXml()
{
mxCodec codec = new mxCodec();
Element node = (Element) codec.encode(drawioDiagram.getModel());
node.setAttribute("style", "default-style2");
@ -269,10 +318,11 @@ public class GliffyDiagramConverter {
*
*
*/
private mxCell convertGliffyObject(Object gliffyObject, Object parent) {
private mxCell convertGliffyObject(GliffyObject gliffyObject, GliffyObject parent)
{
mxCell cell = new mxCell();
if(gliffyObject.isUnrecognizedGraphicType())
if (gliffyObject.isUnrecognizedGraphicType())
{
logger.warning("Unrecognized graphic type for object with ID : " + gliffyObject.id);
return cell;
@ -284,23 +334,29 @@ public class GliffyDiagramConverter {
cell.setGeometry(geometry);
String text;
Object textObject = null;
GliffyObject textObject = null;
String link = null;
Graphic graphic = null;
if (gliffyObject.isGroup()) {
if (gliffyObject.isGroup())
{
style.append("group;");
cell.setVertex(true);
} else {
}
else
{
// groups don't have graphic
graphic = gliffyObject.getGraphic();
textObject = gliffyObject.getTextObject();
}
if (graphic != null) {
if (graphic != null)
{
link = gliffyObject.getLink();
if (gliffyObject.isShape()) {
if (gliffyObject.isShape())
{
GliffyShape shape = graphic.Shape;
cell.setVertex(true);
@ -311,15 +367,19 @@ public class GliffyDiagramConverter {
style.append("strokeColor=" + shape.strokeColor).append(";");
if (shape.gradient)
{
style.append("gradientColor=#FFFFFF;gradientDirection=north;");
}
// opacity value is wrong for venn circles, so ignore it and use the one in the mapping
if (!gliffyObject.isVennsCircle())
{
style.append("opacity=" + shape.opacity * 100).append(";");
style.append(DashStyleMapping.get(shape.dashStyle));
} else if (gliffyObject.isLine()) {
style.append(DashStyleMapping.get(shape.dashStyle));
}
}
else if (gliffyObject.isLine())
{
GliffyLine line = graphic.Line;
cell.setEdge(true);
@ -332,29 +392,31 @@ public class GliffyDiagramConverter {
geometry.setX(0);
geometry.setY(0);
} else if (gliffyObject.isText()) {
}
else if (gliffyObject.isText())
{
textObject = gliffyObject;
cell.setVertex(true);
style.append("text;whiteSpace=wrap;html=1;nl2Br=0;");
cell.setValue(gliffyObject.getText());
//if text is a child of a cell, use relative geometry and set X and Y to 0
if(gliffyObject.parent != null && !gliffyObject.parent.isGroup())
if (gliffyObject.parent != null && !gliffyObject.parent.isGroup())
{
mxGeometry parentGeometry = gliffyObject.parent.mxObject.getGeometry();
cell.setGeometry(new mxGeometry(0, 0, parentGeometry.getWidth(), parentGeometry.getHeight()));
cell.getGeometry().setRelative(true);
}
} else if (gliffyObject.isImage()) {
}
else if (gliffyObject.isImage())
{
GliffyImage image = graphic.getImage();
cell.setVertex(true);
style.append("shape=" + StencilTranslator.translate(gliffyObject.uid)).append(";");
style.append("image=" + image.getUrl()).append(";");
}
else if (gliffyObject.isSvg()) {
else if (gliffyObject.isSvg())
{
GliffySvg svg = graphic.Svg;
cell.setVertex(true);
style.append("shape=image;aspect=fixed;");
@ -364,21 +426,23 @@ public class GliffyDiagramConverter {
}
}
// swimlanes have children w/o uid so their children are converted here ad hoc
else if (gliffyObject.isSwimlane()) {
else if (gliffyObject.isSwimlane())
{
cell.setVertex(true);
style.append(StencilTranslator.translate(gliffyObject.uid)).append(";");
boolean vertical = true;
if (gliffyObject.uid.startsWith(Object.H_SWIMLANE)) {
if (gliffyObject.uid.startsWith(GliffyObject.H_SWIMLANE))
{
vertical = false;
cell.getGeometry().setWidth(gliffyObject.height);
cell.getGeometry().setHeight(gliffyObject.width);
style.append("horizontal=0;");
}
Object header = gliffyObject.children.get(0);// first child is the header of the swimlane
Object headerText = header.children.get(0);
GliffyObject header = gliffyObject.children.get(0);// first child is the header of the swimlane
GliffyObject headerText = header.children.get(0);
GliffyShape shape = header.graphic.getShape();
style.append("strokeWidth=" + shape.strokeWidth).append(";");
@ -391,7 +455,7 @@ public class GliffyDiagramConverter {
for (int i = 1; i < gliffyObject.children.size(); i++) // rest of the children are lanes
{
Object gLane = gliffyObject.children.get(i);
GliffyObject gLane = gliffyObject.children.get(i);
gLane.parent = gliffyObject;
GliffyShape gs = gLane.graphic.getShape();
@ -422,9 +486,10 @@ public class GliffyDiagramConverter {
* Since mindmap object already converts to rectangle, rectangle object is removed and text object is put in it's place
*
*/
else if (gliffyObject.isMindmap()) {
Object rectangle = gliffyObject.children.get(0);
Object textObj = rectangle.children.get(0);
else if (gliffyObject.isMindmap())
{
GliffyObject rectangle = gliffyObject.children.get(0);
GliffyObject textObj = rectangle.children.get(0);
GliffyMindmap mindmap = rectangle.graphic.Mindmap;
@ -436,7 +501,9 @@ public class GliffyDiagramConverter {
style.append(DashStyleMapping.get(mindmap.dashStyle));
if (mindmap.gradient)
{
style.append("gradientColor=#FFFFFF;gradientDirection=north;");
}
cell.setVertex(true);
@ -448,21 +515,23 @@ public class GliffyDiagramConverter {
gliffyObject.children.set(0, textObj);
}
if (gliffyObject.rotation != 0) {
if (gliffyObject.rotation != 0)
{
style.append("rotation=" + gliffyObject.rotation + ";");
}
if (!gliffyObject.isLine() && textObject != null) {
if (!gliffyObject.isLine() && textObject != null)
{
style.append(textObject.graphic.getText().getStyle());
}
if(textObject != null)
if (textObject != null)
{
cell.setValue(textObject.getText());
style.append("html=1;nl2Br=0;whiteSpace=wrap");
}
if(link != null)
if (link != null)
{
Document doc = mxDomUtils.createDocument();
Element uo = doc.createElement("UserObject");
@ -470,7 +539,9 @@ public class GliffyDiagramConverter {
drawioDiagram.getModel().setValue(cell, uo);
if(textObject != null)
{
uo.setAttribute("label", textObject.getText());
}
}
cell.setStyle(style.toString());

View file

@ -1,8 +1,6 @@
package com.mxgraph.io.gliffy.model;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
@ -12,7 +10,7 @@ import com.mxgraph.model.mxCell;
* Class representing Gliffy diagram object
*
*/
public class Object
public class GliffyObject
{
public static String SWIMLANE = "com.gliffy.shape.swimlanes.swimlanes_v1.default";
@ -52,7 +50,7 @@ public class Object
public Graphic graphic;
public List<Object> children;
public List<GliffyObject> children;
public Constraints constraints;
@ -60,7 +58,7 @@ public class Object
public mxCell mxObject;// the mxCell this gliffy object got converted into
public Object parent = null;
public GliffyObject parent = null;
static
{
@ -130,7 +128,7 @@ public class Object
}
public Object()
public GliffyObject()
{
}
@ -153,7 +151,7 @@ public class Object
*
* @return
*/
public Object getTextObject()
public GliffyObject getTextObject()
{
if (isText())
@ -165,7 +163,7 @@ public class Object
return null;
}
for (Object child : children)
for (GliffyObject child : children)
{
if (child.getGraphic() != null && child.getGraphic().getType().equals(Graphic.Type.TEXT))
{

View file

@ -17,7 +17,7 @@ public class Stage
private boolean drawingGuidesOn;
private List<Object> objects;
private List<GliffyObject> objects;
public Stage()
{
@ -83,12 +83,12 @@ public class Stage
this.drawingGuidesOn = drawingGuidesOn;
}
public List<Object> getObjects()
public List<GliffyObject> getObjects()
{
return objects;
}
public void setObjects(List<Object> objects)
public void setObjects(List<GliffyObject> objects)
{
this.objects = objects;
}

View file

@ -1,7 +1,7 @@
CACHE MANIFEST
# THIS FILE WAS GENERATED. DO NOT MODIFY!
# 10/28/2016 02:12 PM
# 10/31/2016 09:16 AM
/app.html
/index.html?offline=1

95
war/js/app.min.js vendored

File diff suppressed because one or more lines are too long

View file

@ -2752,10 +2752,10 @@ a.getAttribute("shadow"),pageVisible:this.lightbox?!1:null!=b?"0"!=b:this.defaul
selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1}};
Graph.prototype.getViewState=function(){return{defaultParent:this.defaultParent,currentRoot:this.view.currentRoot,gridEnabled:this.gridEnabled,gridSize:this.gridSize,guidesEnabled:this.graphHandler.guidesEnabled,foldingEnabled:this.foldingEnabled,shadowVisible:this.shadowVisible,scrollbars:this.scrollbars,pageVisible:this.pageVisible,background:this.background,backgroundImage:this.backgroundImage,pageScale:this.pageScale,pageFormat:this.pageFormat,tooltips:this.tooltipHandler.isEnabled(),connect:this.connectionHandler.isEnabled(),
arrows:this.connectionArrowsEnabled,scale:this.view.scale,scrollLeft:this.container.scrollLeft-this.view.translate.x*this.view.scale,scrollTop:this.container.scrollTop-this.view.translate.y*this.view.scale,translate:this.view.translate.clone(),lastPasteXml:this.lastPasteXml,pasteCounter:this.pasteCounter,mathEnabled:this.mathEnabled}};
Graph.prototype.setViewState=function(a){null!=a?(this.lastPasteXml=a.lastPasteXml,this.pasteCounter=a.pasteCounter||0,this.mathEnabled=a.mathEnabled,this.gridEnabled=a.gridEnabled,this.gridSize=a.gridSize,this.graphHandler.guidesEnabled=a.guidesEnabled,this.foldingEnabled=a.foldingEnabled,this.setShadowVisible(a.shadowVisible,!1),this.scrollbars=a.scrollbars,this.pageVisible=a.pageVisible,this.background=a.background,this.backgroundImage=a.backgroundImage,this.pageScale=a.pageScale,this.pageFormat=
a.pageFormat,this.view.scale=a.scale,this.view.currentRoot=a.currentRoot,this.defaultParent=a.defaultParent,this.connectionArrowsEnabled=a.arrows,this.setTooltips(a.tooltips),this.setConnectable(a.connect),null!=a.translate&&(this.view.translate=a.translate)):(this.view.currentRoot=null,this.view.scale=1,this.gridEnabled=!0,this.gridSize=mxGraph.prototype.gridSize,this.pageScale=mxGraph.prototype.pageScale,this.pageFormat=mxSettings.getPageFormat(),this.pageVisible=this.defaultPageVisible,this.background=
this.defaultGraphBackground,this.backgroundImage=null,this.scrollbars=this.defaultScrollbars,this.foldingEnabled=this.graphHandler.guidesEnabled=!0,this.defaultParent=null,this.setTooltips(!0),this.setConnectable(!0),this.lastPasteXml=null,this.pasteCounter=0,this.mathEnabled=!1,this.connectionArrowsEnabled=!0);this.preferPageSize=this.pageBreaksVisible=this.pageVisible};
EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var b=this.editor.extractGraphModel(a.node);if(null!=b){a.graphModelNode=b;a.viewState=this.editor.graph.createViewState(b);var c=new mxCodec(b.ownerDocument);a.root=c.decode(b).root}else a.root=this.editor.graph.model.createRoot()}return a};
Graph.prototype.setViewState=function(a){if(null!=a)this.lastPasteXml=a.lastPasteXml,this.pasteCounter=a.pasteCounter||0,this.mathEnabled=a.mathEnabled,this.gridEnabled=a.gridEnabled,this.gridSize=a.gridSize,this.graphHandler.guidesEnabled=a.guidesEnabled,this.foldingEnabled=a.foldingEnabled,this.setShadowVisible(a.shadowVisible,!1),this.scrollbars=a.scrollbars,this.pageVisible=a.pageVisible,this.background=a.background,this.backgroundImage=a.backgroundImage,this.pageScale=a.pageScale,this.pageFormat=
a.pageFormat,this.view.scale=a.scale,this.view.currentRoot=a.currentRoot,this.defaultParent=a.defaultParent,this.connectionArrowsEnabled=a.arrows,this.setTooltips(a.tooltips),this.setConnectable(a.connect),null!=a.translate&&(this.view.translate=a.translate);else{this.view.currentRoot=null;this.view.scale=1;this.gridEnabled=!0;this.gridSize=mxGraph.prototype.gridSize;this.pageScale=mxGraph.prototype.pageScale;this.pageFormat=mxSettings.getPageFormat();this.pageVisible=this.defaultPageVisible;this.background=
this.defaultGraphBackground;this.backgroundImage=null;this.scrollbars=this.defaultScrollbars;this.foldingEnabled=this.graphHandler.guidesEnabled=!0;this.defaultParent=null;this.setTooltips(!0);this.setConnectable(!0);this.lastPasteXml=null;this.pasteCounter=0;this.mathEnabled=!1;this.connectionArrowsEnabled=!0;a=this.getDefaultParent();this.getCellStyle(a);for(var b=0;null!=a&&"1"==mxUtils.getValue(this.getCellStyle(a),"locked","0");)a=this.model.getChildAt(this.model.root,b++);null!=a&&this.setDefaultParent(a)}this.preferPageSize=
this.pageBreaksVisible=this.pageVisible};EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var b=this.editor.extractGraphModel(a.node);if(null!=b){a.graphModelNode=b;a.viewState=this.editor.graph.createViewState(b);var c=new mxCodec(b.ownerDocument);a.root=c.decode(b).root}else a.root=this.editor.graph.model.createRoot()}return a};
EditorUi.prototype.selectPage=function(a){this.editor.graph.stopEditing();var b=this.editor.graph.model.createUndoableEdit();b.ignoreEdit=!0;a=new SelectPage(this,a);a.execute();b.add(a);b.notify();this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",b))};
EditorUi.prototype.selectNextPage=function(a){var b=this.currentPage;null!=b&&null!=this.pages&&(b=mxUtils.indexOf(this.pages,b),a?this.selectPage(this.pages[mxUtils.mod(b+1,this.pages.length)]):a||this.selectPage(this.pages[mxUtils.mod(b-1,this.pages.length)]))};EditorUi.prototype.insertPage=function(a,b){if(this.editor.graph.isEnabled()){a=null!=a?a:this.createPage();b=null!=b?b:this.pages.length;var c=new ChangePage(this,a,a,b);this.editor.graph.model.execute(c)}return a};
EditorUi.prototype.createPage=function(a){var b=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"));b.setName(null!=a?a:this.createPageName());return b};EditorUi.prototype.createPageName=function(){for(var a={},b=0;b<this.pages.length;b++){var c=this.pages[b].getName();null!=c&&0<c.length&&(a[c]=c)}b=this.pages.length;c=null;do c=mxResources.get("pageWithNumber",[++b]);while(null!=a[c]);return c};

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

@ -3,7 +3,7 @@
d[e])}return b}function g(b){this.opts=e(b||{},g.defaults,r)}function k(){function d(b,e){return a("\x3c"+b+' xmlns\x3d"urn:schemas-microsoft.com:vml" class\x3d"spin-vml"\x3e',e)}p.addRule(".spin-vml","behavior:url(#default#VML)");g.prototype.lines=function(a,e){function f(){return b(d("group",{coordsize:m+" "+m,coordorigin:-l+" "+-l}),{width:m,height:m})}function g(a,k,m){c(n,c(b(f(),{rotation:360/e.lines*a+"deg",left:~~k}),c(b(d("roundrect",{arcsize:e.corners}),{width:l,height:e.width,left:e.radius,
top:-e.width>>1,filter:m}),d("fill",{color:"string"==typeof e.color?e.color:e.color[a%e.color.length],opacity:e.opacity}),d("stroke",{opacity:0}))))}var k,l=e.length+e.width,m=2*l;k=2*-(e.width+e.length)+"px";var n=b(f(),{position:"absolute",top:k,left:k});if(e.shadow)for(k=1;k<=e.lines;k++)g(k,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius\x3d2,makeshadow\x3d1,shadowopacity\x3d.3)");for(k=1;k<=e.lines;k++)g(k);return c(a,n)};g.prototype.opacity=function(b,a,d,e){b=b.firstChild;e=e.shadow&&
e.lines||0;b&&a+e<b.childNodes.length&&(b=b.childNodes[a+e],b=b&&b.firstChild,b=b&&b.firstChild,b&&(b.opacity=d))}}var l,m=["webkit","Moz","ms","O"],n={},p=function(){var b=a("style",{type:"text/css"});return c(document.getElementsByTagName("head")[0],b),b.sheet||b.styleSheet}(),r={lines:12,length:7,width:5,radius:10,rotate:0,corners:1,color:"#000",direction:1,speed:1,trail:100,opacity:0.25,fps:20,zIndex:2E9,className:"spinner",top:"50%",left:"50%",position:"absolute"};g.defaults={};e(g.prototype,
{spin:function(d){this.stop();var e=this,c=e.opts,f=e.el=b(a(0,{className:c.className}),{position:c.position,width:0,zIndex:c.zIndex});c.radius+c.length+c.width;if(d&&(d.insertBefore(f,d.firstChild||null),b(f,{left:c.left,top:c.top})),f.setAttribute("role","progressbar"),e.lines(f,e.opts),!l){var g,k=0,m=(c.lines-1)*(1-c.direction)/2,n=c.fps,r=n/c.speed,p=(1-c.opacity)/(r*c.trail/100),s=r/c.lines;!function H(){k++;for(var b=0;b<c.lines;b++)g=Math.max(1-(k+(c.lines-b)*s)%r*p,c.opacity),e.opacity(f,
{spin:function(d){this.stop();var e=this,c=e.opts,f=e.el=b(a(0,{className:c.className}),{position:c.position,width:0,zIndex:c.zIndex});c.radius+c.length+c.width;if(d&&(d.insertBefore(f,d.firstChild||null),b(f,{left:c.left,top:c.top})),f.setAttribute("role","progressbar"),e.lines(f,e.opts),!l){var g,k=0,m=(c.lines-1)*(1-c.direction)/2,n=c.fps,r=n/c.speed,s=(1-c.opacity)/(r*c.trail/100),p=r/c.lines;!function H(){k++;for(var b=0;b<c.lines;b++)g=Math.max(1-(k+(c.lines-b)*p)%r*s,c.opacity),e.opacity(f,
b*c.direction+m,g,c);e.timeout=e.el&&setTimeout(H,~~(1E3/n))}()}return e},stop:function(){var b=this.el;return b&&(clearTimeout(this.timeout),b.parentNode&&b.parentNode.removeChild(b),this.el=void 0),this},lines:function(d,e){function g(d,c){return b(a(),{position:"absolute",width:e.length+e.width+"px",height:e.width+"px",background:d,boxShadow:c,transformOrigin:"left",transform:"rotate("+~~(360/e.lines*m+e.rotate)+"deg) translate("+e.radius+"px,0)",borderRadius:(e.corners*e.width>>1)+"px"})}for(var k,
m=0,n=(e.lines-1)*(1-e.direction)/2;m<e.lines;m++)k=b(a(),{position:"absolute",top:1+~(e.width/2)+"px",transform:e.hwaccel?"translate3d(0,0,0)":"",opacity:e.opacity,animation:l&&f(e.opacity,e.trail,n+m*e.direction,e.lines)+" "+1/e.speed+"s linear infinite"}),e.shadow&&c(k,b(g("#000","0 0 4px #000"),{top:"2px"})),c(d,c(k,g("string"==typeof e.color?e.color:e.color[m%e.color.length],"0 0 1px rgba(0,0,0,.1)")));return d},opacity:function(b,a,d){a<b.childNodes.length&&(b.childNodes[a].style.opacity=d)}});
var s=b(a("group"),{behavior:"url(#default#VML)"});return!d(s,"transform")&&s.adj?k():l=d(s,"animation"),g});
@ -35,30 +35,30 @@ cssLitGroup:[b[36],b[48]],cssFns:[]},"image()":{cssPropBits:18,cssLitGroup:[b[0]
"rect()":{cssPropBits:5,cssLitGroup:[b[48],b[52]],cssFns:[]},"alpha()":{cssPropBits:1,cssLitGroup:[b[28]],cssFns:[]},"matrix()":"animation-delay","perspective()":"border-bottom-left-radius","rotate()":"border-bottom-left-radius","rotate3d()":"animation-delay","rotatex()":"border-bottom-left-radius","rotatey()":"border-bottom-left-radius","rotatez()":"border-bottom-left-radius","scale()":"animation-delay","scale3d()":"animation-delay","scalex()":"border-bottom-left-radius","scaley()":"border-bottom-left-radius",
"scalez()":"border-bottom-left-radius","skew()":"animation-delay","skewx()":"border-bottom-left-radius","skewy()":"border-bottom-left-radius","translate()":"animation-delay","translate3d()":"animation-delay","translatex()":"border-bottom-left-radius","translatey()":"border-bottom-left-radius","translatez()":"border-bottom-left-radius"},g;for(g in e)"string"===typeof e[g]&&Object.hasOwnProperty.call(e,g)&&(e[g]=e[e[g]]);"undefined"!==typeof window&&(window.cssSchema=e);var k,l;(function(){function b(a){var d=
parseInt(a.substring(1),16);return 65535<d?(d-=65536,String.fromCharCode(55296+(d>>10),56320+(d&1023))):d==d?String.fromCharCode(d):" ">a[1]?"":a[1]}function a(b,d){return'"'+b.replace(/[\u0000-\u001f\\\"<>]/g,d)+'"'}function d(b){return c[b]||(c[b]="\\"+b.charCodeAt(0).toString(16)+" ")}function e(b){return f[b]||(f[b]=("\u0010">b?"%0":"%")+b.charCodeAt(0).toString(16))}var c={"\\":"\\\\"},f={"\\":"%5c"},g=RegExp("\\uFEFF|U[+][0-9A-F?]{1,6}(?:-[0-9A-F]{1,6})?|url[(][\\t\\n\\f ]*(?:\"(?:'|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*\"|'(?:\"|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*'|(?:[\\t\\x21\\x23-\\x26\\x28-\\x5b\\x5d-\\x7e]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*)[\\t\\n\\f ]*[)]|(?!url[(])-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*[(]|(?:@?-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))|#)(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*|\"(?:'|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*\"|'(?:\"|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*'|[-+]?(?:[0-9]+(?:[.][0-9]+)?|[.][0-9]+)(?:%|-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*)?|\x3c!--|--\x3e|[\\t\\n\\f ]+|/(?:[*][^*]*[*]+(?:[^/][^*]*[*]+)*/|/[^\\n\\f]*)|[~|^$*]\x3d|[^\"'\\\\/]|/(?![/*])",
"gi"),m=RegExp("\\\\(?:(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff])|[\\n\\f])","g"),n=RegExp("^url\\([\\t\\n\\f ]*[\"']?|[\"']?[\\t\\n\\f ]*\\)$","gi");l=function(a){return a.replace(m,b)};k=function(b){b=(""+b).replace(/\r\n?/g,"\n").match(g)||[];for(var c=0,f=" ",k=0,m=b.length;k<m;++k){var q=l(b[k]),r=q.length,p=q.charCodeAt(0),q=34==p||39==p?a(q.substring(1,r-1),d):47==p&&1<r||"\\"==q||"--\x3e"==q||"\x3c!--"==q||"\ufeff"==
q||32>=p?" ":/url\(/i.test(q)?"url("+a(q.replace(n,""),e)+")":q;if(f!=q||" "!=q)b[c++]=f=q}b.length=c;return b}})();"undefined"!==typeof window&&(window.lexCss=k,window.decodeCss=l);var m=function(){function b(a){a=(""+a).match(n);return!a?f:new g(k(a[1]),k(a[2]),k(a[3]),k(a[4]),k(a[5]),k(a[6]),k(a[7]))}function a(b,e){return"string"==typeof b?encodeURI(b).replace(e,d):f}function d(b){b=b.charCodeAt(0);return"%"+"0123456789ABCDEF".charAt(b>>4&15)+"0123456789ABCDEF".charAt(b&15)}function e(b){if(b===
"gi"),m=RegExp("\\\\(?:(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff])|[\\n\\f])","g"),n=RegExp("^url\\([\\t\\n\\f ]*[\"']?|[\"']?[\\t\\n\\f ]*\\)$","gi");l=function(a){return a.replace(m,b)};k=function(b){b=(""+b).replace(/\r\n?/g,"\n").match(g)||[];for(var c=0,f=" ",k=0,m=b.length;k<m;++k){var q=l(b[k]),r=q.length,s=q.charCodeAt(0),q=34==s||39==s?a(q.substring(1,r-1),d):47==s&&1<r||"\\"==q||"--\x3e"==q||"\x3c!--"==q||"\ufeff"==
q||32>=s?" ":/url\(/i.test(q)?"url("+a(q.replace(n,""),e)+")":q;if(f!=q||" "!=q)b[c++]=f=q}b.length=c;return b}})();"undefined"!==typeof window&&(window.lexCss=k,window.decodeCss=l);var m=function(){function b(a){a=(""+a).match(n);return!a?f:new g(k(a[1]),k(a[2]),k(a[3]),k(a[4]),k(a[5]),k(a[6]),k(a[7]))}function a(b,e){return"string"==typeof b?encodeURI(b).replace(e,d):f}function d(b){b=b.charCodeAt(0);return"%"+"0123456789ABCDEF".charAt(b>>4&15)+"0123456789ABCDEF".charAt(b&15)}function e(b){if(b===
f)return f;b=b.replace(/(^|\/)\.(?:\/|$)/g,"$1").replace(/\/{2,}/g,"/");for(var a=l,d;(d=b.replace(a,"$1"))!=b;b=d);return b}function c(b,a){var d=b.T(),f=a.K();f?d.ga(a.j):f=a.X();f?d.da(a.n):f=a.Y();f?d.ea(a.k):f=a.$();var g=a.g,k=e(g);if(f)d.ca(a.V()),k=k&&k.replace(m,"");else if(f=!!g){if(47!==k.charCodeAt(0))var k=e(d.g||"").replace(m,""),l=k.lastIndexOf("/")+1,k=e((l?k.substring(0,l):"")+e(g)).replace(m,"")}else k=k&&k.replace(m,""),k!==g&&d.G(k);f?d.G(k):f=a.aa();f?d.O(a.l):f=a.Z();f&&d.fa(a.o);
return d}function g(b,a,d,e,c,f,k){this.j=b;this.n=a;this.k=d;this.h=e;this.g=c;this.l=f;this.o=k}function k(b){return"string"==typeof b&&0<b.length?b:f}var l=RegExp(/(\/|^)(?:[^./][^/]*|\.{2,}(?:[^./][^/]*)|\.{3,}[^/]*)\/\.\.(?:\/|$)/),m=/^(?:\.\.\/)*(?:\.\.$)?/;g.prototype.toString=function(){var b=[];f!==this.j&&b.push(this.j,":");f!==this.k&&(b.push("//"),f!==this.n&&b.push(this.n,"@"),b.push(this.k),f!==this.h&&b.push(":",this.h.toString()));f!==this.g&&b.push(this.g);f!==this.l&&b.push("?",
this.l);f!==this.o&&b.push("#",this.o);return b.join("")};g.prototype.T=function(){return new g(this.j,this.n,this.k,this.h,this.g,this.l,this.o)};g.prototype.W=function(){return this.j&&decodeURIComponent(this.j).toLowerCase()};g.prototype.ga=function(b){this.j=b?b:f};g.prototype.K=function(){return f!==this.j};g.prototype.da=function(b){this.n=b?b:f};g.prototype.X=function(){return f!==this.n};g.prototype.ea=function(b){this.k=b?b:f;this.G(this.g)};g.prototype.Y=function(){return f!==this.k};g.prototype.V=
function(){return this.h&&decodeURIComponent(this.h)};g.prototype.ca=function(b){if(b){b=Number(b);if(b!==(b&65535))throw Error("Bad port number "+b);this.h=""+b}else this.h=f};g.prototype.$=function(){return f!==this.h};g.prototype.U=function(){return this.g&&decodeURIComponent(this.g)};g.prototype.G=function(b){b?(b=""+b,this.g=!this.k||/^\//.test(b)?b:"/"+b):this.g=f};g.prototype.O=function(b){this.l=b?b:f};g.prototype.aa=function(){return f!==this.l};g.prototype.ba=function(b){if("object"===typeof b&&
!(b instanceof Array)&&(b instanceof Object||"[object Array]"!==Object.prototype.toString.call(b))){var a=[],d=-1,e;for(e in b){var c=b[e];"string"===typeof c&&(a[++d]=e,a[++d]=c)}b=a}for(var a=[],d="",f=0;f<b.length;)e=b[f++],c=b[f++],a.push(d,encodeURIComponent(e.toString())),d="\x26",c&&a.push("\x3d",encodeURIComponent(c.toString()));this.l=a.join("")};g.prototype.fa=function(b){this.o=b?b:f};g.prototype.Z=function(){return f!==this.o};var n=/^(?:([^:/?#]+):)?(?:\/\/(?:([^/?#]*)@)?([^/?#:@]*)(?::([0-9]+))?)?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/,
q=/[#\/\?@]/g,r=/[\#\?]/g;g.parse=b;g.create=function(b,e,c,k,l,m,n){b=new g(a(b,q),a(e,q),"string"==typeof c?encodeURIComponent(c):f,0<k?k.toString():f,a(l,r),f,"string"==typeof n?encodeURIComponent(n):f);m&&("string"===typeof m?b.O(m.replace(/[^?&=0-9A-Za-z_\-~.%]/g,d)):b.ba(m));return b};g.N=c;g.ma=e;g.ha={ua:function(a){return/\.html$/.test(b(a).U())?"text/html":"application/javascript"},N:function(a,d){return a?c(b(a),b(d)).toString():""+d}};return g}();"undefined"!==typeof window&&(window.URI=
m);var n=a,p=a,r=a,s=a;(function(){function b(a){return"string"===typeof a?'url("'+a.replace(C,g)+'")':'url("about:blank")'}function g(b){return A[b]}function k(b,a){return b?m.ha.N(b,a):a}function t(b,a,d){if(!d)return f;var e=(""+b).match(E);return e&&(!e[1]||G.test(e[1]))?d(b,a):f}function F(b){return b.replace(/^-(?:apple|css|epub|khtml|moz|mso?|o|rim|wap|webkit|xv)-(?=[a-z])/,"")}var C=/[\n\f\r\"\'()*<>]/g,A={"\n":"%0a","\f":"%0c","\r":"%0d",'"':"%22","'":"%27","(":"%28",")":"%29","*":"%2a",
"\x3c":"%3c","\x3e":"%3e"},E=/^(?:([^:/?# ]+):)?/,G=/^(?:https?|mailto|data)$/i;n=function(){var a={};return function O(d,c,f,g,m){d=F(d);var n=e[d];if(!n||"object"!==typeof n)c.length=0;else{for(var q=n.cssPropBits,r=q&80,p=q&1536,s=NaN,v=0,H=0;v<c.length;++v){var z=c[v].toLowerCase(),E=z.charCodeAt(0),A,G,C,I,T,ia;if(32===E)z="";else if(34===E)z=16===r?f?b(t(k(g,l(c[v].substring(1,z.length-1))),d,f)):"":q&8&&!(r&r-1)?z:"";else if("inherit"!==z){if(T=n.cssLitGroup){var ea;if(!(ea=n.cssLitMap)){ea=
{};for(var aa=T.length;0<=--aa;)for(var fa=T[aa],ja=fa.length;0<=--ja;)ea[fa[ja]]=a;ea=n.cssLitMap=ea}T=ea}else T=a;if(!(ia=T,ia[F(z)]===a))if(35===E&&/^#(?:[0-9a-f]{3}){1,2}$/.test(z))z=q&2?z:"";else if(48<=E&&57>=E)z=q&1?z:"";else if(A=z.charCodeAt(1),G=z.charCodeAt(2),C=48<=A&&57>=A,I=48<=G&&57>=G,43===E&&(C||46===A&&I))z=q&1?(C?"":"0")+z.substring(1):"";else if(45===E&&(C||46===A&&I))z=q&4?(C?"-":"-0")+z.substring(1):q&1?"0":"";else if(46===E&&C)z=q&1?"0"+z:"";else if('url("'===z.substring(0,
5))z=f&&q&16?b(t(k(g,c[v].substring(5,z.length-2)),d,f)):"";else if("("===z.charAt(z.length-1))a:{T=c;ea=v;z=1;aa=ea+1;for(E=T.length;aa<E&&z;)fa=T[aa++],z+=")"===fa?-1:/^[^"']*\($/.test(fa);if(!z){z=T[ea].toLowerCase();E=F(z);T=T.splice(ea,aa-ea,"");ea=n.cssFns;aa=0;for(fa=ea.length;aa<fa;++aa)if(ea[aa].substring(0,E.length)==E){T[0]=T[T.length-1]="";O(ea[aa],T,f,g);z=z+T.join(" ")+")";break a}}z=""}else z=p&&/^-?[a-z_][\w\-]*$/.test(z)&&!/__$/.test(z)?m&&512===p?c[v]+m:1024===p&&e[z]&&"number"===
typeof e[z].oa?z:"":/^\w+$/.test(z)&&64===r&&q&8?s+1===H?(c[s]=c[s].substring(0,c[s].length-1)+" "+z+'"',""):(s=H,'"'+z+'"'):""}z&&(c[H++]=z)}1===H&&'url("about:blank")'===c[0]&&(H=0);c.length=H}}}();var H=RegExp("^(active|after|before|blank|checked|default|disabled|drop|empty|enabled|first|first-child|first-letter|first-line|first-of-type|fullscreen|focus|hover|in-range|indeterminate|invalid|last-child|last-of-type|left|link|only-child|only-of-type|optional|out-of-range|placeholder-shown|read-only|read-write|required|right|root|scope|user-error|valid|visited)$"),
I={};I["\x3e"]=I["+"]=I["~"]=I;p=function(b,a,e){function g(q,r){function p(e,f,g){var k,n,q,r,t,u=c;k="";if(e<f)if(t=b[e],"*"===t)++e,k=t;else if(/^[a-zA-Z]/.test(t)&&(n=m(t.toLowerCase(),[])))"tagName"in n&&(t=n.tagName),++e,k=t;for(r=q=n="";u&&e<f;++e)if(t=b[e],"#"===t.charAt(0))/^#_|__$|[^\w#:\-]/.test(t)?u=d:n+=t+l;else if("."===t)++e<f&&/^[0-9A-Za-z:_\-]+$/.test(t=b[e])&&!/^_|__$/.test(t)?n+="."+t:u=d;else if(e+1<f&&"["===b[e]){++e;var z=b[e++].toLowerCase();t=v.m[k+"::"+z];t!==+t&&(t=v.m["*::"+
m);var n=a,p=a,r=a,s=a;(function(){function b(a){return"string"===typeof a?'url("'+a.replace(B,g)+'")':'url("about:blank")'}function g(b){return A[b]}function k(b,a){return b?m.ha.N(b,a):a}function t(b,a,d){if(!d)return f;var e=(""+b).match(E);return e&&(!e[1]||G.test(e[1]))?d(b,a):f}function F(b){return b.replace(/^-(?:apple|css|epub|khtml|moz|mso?|o|rim|wap|webkit|xv)-(?=[a-z])/,"")}var B=/[\n\f\r\"\'()*<>]/g,A={"\n":"%0a","\f":"%0c","\r":"%0d",'"':"%22","'":"%27","(":"%28",")":"%29","*":"%2a",
"\x3c":"%3c","\x3e":"%3e"},E=/^(?:([^:/?# ]+):)?/,G=/^(?:https?|mailto|data)$/i;n=function(){var a={};return function O(d,c,f,g,m){d=F(d);var n=e[d];if(!n||"object"!==typeof n)c.length=0;else{for(var q=n.cssPropBits,r=q&80,s=q&1536,p=NaN,v=0,H=0;v<c.length;++v){var z=c[v].toLowerCase(),E=z.charCodeAt(0),A,G,B,I,T,ia;if(32===E)z="";else if(34===E)z=16===r?f?b(t(k(g,l(c[v].substring(1,z.length-1))),d,f)):"":q&8&&!(r&r-1)?z:"";else if("inherit"!==z){if(T=n.cssLitGroup){var ea;if(!(ea=n.cssLitMap)){ea=
{};for(var aa=T.length;0<=--aa;)for(var fa=T[aa],ja=fa.length;0<=--ja;)ea[fa[ja]]=a;ea=n.cssLitMap=ea}T=ea}else T=a;if(!(ia=T,ia[F(z)]===a))if(35===E&&/^#(?:[0-9a-f]{3}){1,2}$/.test(z))z=q&2?z:"";else if(48<=E&&57>=E)z=q&1?z:"";else if(A=z.charCodeAt(1),G=z.charCodeAt(2),B=48<=A&&57>=A,I=48<=G&&57>=G,43===E&&(B||46===A&&I))z=q&1?(B?"":"0")+z.substring(1):"";else if(45===E&&(B||46===A&&I))z=q&4?(B?"-":"-0")+z.substring(1):q&1?"0":"";else if(46===E&&B)z=q&1?"0"+z:"";else if('url("'===z.substring(0,
5))z=f&&q&16?b(t(k(g,c[v].substring(5,z.length-2)),d,f)):"";else if("("===z.charAt(z.length-1))a:{T=c;ea=v;z=1;aa=ea+1;for(E=T.length;aa<E&&z;)fa=T[aa++],z+=")"===fa?-1:/^[^"']*\($/.test(fa);if(!z){z=T[ea].toLowerCase();E=F(z);T=T.splice(ea,aa-ea,"");ea=n.cssFns;aa=0;for(fa=ea.length;aa<fa;++aa)if(ea[aa].substring(0,E.length)==E){T[0]=T[T.length-1]="";O(ea[aa],T,f,g);z=z+T.join(" ")+")";break a}}z=""}else z=s&&/^-?[a-z_][\w\-]*$/.test(z)&&!/__$/.test(z)?m&&512===s?c[v]+m:1024===s&&e[z]&&"number"===
typeof e[z].oa?z:"":/^\w+$/.test(z)&&64===r&&q&8?p+1===H?(c[p]=c[p].substring(0,c[p].length-1)+" "+z+'"',""):(p=H,'"'+z+'"'):""}z&&(c[H++]=z)}1===H&&'url("about:blank")'===c[0]&&(H=0);c.length=H}}}();var H=RegExp("^(active|after|before|blank|checked|default|disabled|drop|empty|enabled|first|first-child|first-letter|first-line|first-of-type|fullscreen|focus|hover|in-range|indeterminate|invalid|last-child|last-of-type|left|link|only-child|only-of-type|optional|out-of-range|placeholder-shown|read-only|read-write|required|right|root|scope|user-error|valid|visited)$"),
I={};I["\x3e"]=I["+"]=I["~"]=I;p=function(b,a,e){function g(q,r){function s(e,f,g){var k,n,q,r,t,u=c;k="";if(e<f)if(t=b[e],"*"===t)++e,k=t;else if(/^[a-zA-Z]/.test(t)&&(n=m(t.toLowerCase(),[])))"tagName"in n&&(t=n.tagName),++e,k=t;for(r=q=n="";u&&e<f;++e)if(t=b[e],"#"===t.charAt(0))/^#_|__$|[^\w#:\-]/.test(t)?u=d:n+=t+l;else if("."===t)++e<f&&/^[0-9A-Za-z:_\-]+$/.test(t=b[e])&&!/^_|__$/.test(t)?n+="."+t:u=d;else if(e+1<f&&"["===b[e]){++e;var z=b[e++].toLowerCase();t=v.m[k+"::"+z];t!==+t&&(t=v.m["*::"+
z]);var y;a.ia?(y=a.ia(k,z),"string"!==typeof y&&(u=d,y=z),u&&t!==+t&&(t=v.d.NONE)):(y=z,t!==+t&&(u=d));var x=z="",E=d;/^[~^$*|]?=$/.test(b[e])&&(z=b[e++],x=b[e++],/^[0-9A-Za-z:_\-]+$/.test(x)?x='"'+x+'"':"]"===x&&(x='""',--e),/^"([^\"\\]|\\.)*"$/.test(x)||(u=d),(E="i"===b[e])&&++e);"]"!==b[e]&&(++e,u=d);switch(t){case v.d.CLASSES:case v.d.LOCAL_NAME:case v.d.NONE:break;case v.d.GLOBAL_NAME:case v.d.ID:case v.d.IDREF:("\x3d"===z||"~\x3d"===z||"$\x3d"===z)&&'""'!=x&&!E?x='"'+x.substring(1,x.length-
1)+l+'"':"|\x3d"===z||""===z||(u=d);break;case v.d.URI:case v.d.URI_FRAGMENT:""!==z&&(u=d);break;default:u=d}u&&(q+="["+y.replace(/[^\w-]/g,"\\$\x26")+z+x+(E?" i]":"]"))}else if(e<f&&":"===b[e])if(t=b[++e],H.test(t))r+=":"+t;else break;else break;e!==f&&(u=d);u&&(e=(k+n).replace(/[^ .*#\w-]/g,"\\$\x26")+q+r+g)&&s.push(e);return u}" "===b[q]&&++q;r-1!==q&&" "===b[r]&&--r;for(var s=[],t=q,u=c,z=q;u&&z<r;++z){var y=b[z];if(I[y]===I||" "===y)p(t,z,y)?t=z+1:u=d}p(t,r,"")||(u=d);return u?(s.length&&(t=
s.join(""),k!==f&&(t="."+k+" "+t),n.push(t)),c):!e||e(b.slice(q,r))}var k=a.na,l=a.L,m=a.Aa,n=[],q=0,r,p=0,s;for(r=0;r<b.length;++r)if(s=b[r],"("==s||"["==s?(++p,c):")"==s||"]"==s?(p&&--p,c):!(" "==b[r]&&(p||I[b[r-1]]===I||I[b[r+1]]===I)))b[q++]=b[r];b.length=q;q=b.length;for(r=p=0;r<q;++r)if(","===b[r]){if(!g(p,r))return f;p=r+1}return!g(p,q)?f:n};(function(){var b=/^\w/,a=RegExp("^(?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*)(?: , (?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*))*$",
"i");s=function(d){d=d.slice();for(var e=d.length,c=0,f=0;f<e;++f){var g=d[f];" "!=g&&(d[c++]=g)}d.length=c;d=d.join(" ");return!d.length?"":!a.test(d)?"not all":b.test(d)?d:"not all , "+d}})();(function(){function b(a){var d=/^\s*[']([^']*)[']\s*$/,e=/^\s*url\s*[(]["]([^"]*)["][)]\s*$/,c=/^\s*url\s*[(][']([^']*)['][)]\s*$/,g=/^\s*url\s*[(]([^)]*)[)]\s*$/,k;return(k=/^\s*["]([^"]*)["]\s*$/.exec(a))||(k=d.exec(a))||(k=e.exec(a))||(k=c.exec(a))||(k=g.exec(a))?k[1]:f}function e(g,l,m,r,u,v,H){function z(){C=
G.length&&G[G.length-1]===f}var E=a,A=H||[0],G=[],C=d;q(l,{startStylesheet:function(){E=[]},endStylesheet:function(){},startAtrule:function(a,d){if(C)a=f;else if("@media"===a)E.push("@media"," ",s(d));else if("@keyframes"===a||"@-webkit-keyframes"===a){var c=d[0];1===d.length&&!/__$|[^\w\-]/.test(c)?(E.push(a," ",c+m.L),a="@keyframes"):a=f}else if("@import"===a&&0<d.length)if(a=f,"function"===typeof v){var l=s(d.slice(1));if("not all"!==l){++A[0];var n=[];E.push(n);var q=t(k(g,b(d[0])),function(b){var a=
e(q,b.qa,m,r,u,v,A);--A[0];b=l?{toString:function(){return"@media "+l+" {"+a.result+"}"}}:a.result;n[0]=b;v(b,!!A[0])},u)}}else window.console&&window.console.log("@import "+d.join(" ")+" elided");C=!a;G.push(a)},endAtrule:function(){G.pop();C||E.push(";");z()},startBlock:function(){C||E.push("{")},endBlock:function(){C||(E.push("}"),C=c)},startRuleset:function(b){if(!C){var d=a;"@keyframes"===G[G.length-1]?(d=b.join(" ").match(/^ *(?:from|to|\d+(?:\.\d+)?%) *(?:, *(?:from|to|\d+(?:\.\d+)?%) *)*$/i),
C=!d,d&&(d=d[0].replace(/ +/g,""))):(b=p(b,m),!b||!b.length?C=c:d=b.join(", "));C||E.push(d,"{")}G.push(f)},endRuleset:function(){G.pop();C||E.push("}");z()},declaration:function(b,a){if(!C){var e=d,f=a.length;2<=f&&"!"===a[f-2]&&"important"===a[f-1].toLowerCase()&&(e=c,a.length-=2);n(b,a,r,g,m.L);a.length&&E.push(b,":",a.join(" "),e?" !important;":";")}}});return{result:{toString:function(){return E.join("")}},va:!!A[0]}}r=function(b,d,c,f){return e(b,d,c,f,a,a).result.toString()}})()})();"undefined"!==
1)+l+'"':"|\x3d"===z||""===z||(u=d);break;case v.d.URI:case v.d.URI_FRAGMENT:""!==z&&(u=d);break;default:u=d}u&&(q+="["+y.replace(/[^\w-]/g,"\\$\x26")+z+x+(E?" i]":"]"))}else if(e<f&&":"===b[e])if(t=b[++e],H.test(t))r+=":"+t;else break;else break;e!==f&&(u=d);u&&(e=(k+n).replace(/[^ .*#\w-]/g,"\\$\x26")+q+r+g)&&p.push(e);return u}" "===b[q]&&++q;r-1!==q&&" "===b[r]&&--r;for(var p=[],t=q,u=c,z=q;u&&z<r;++z){var y=b[z];if(I[y]===I||" "===y)s(t,z,y)?t=z+1:u=d}s(t,r,"")||(u=d);return u?(p.length&&(t=
p.join(""),k!==f&&(t="."+k+" "+t),n.push(t)),c):!e||e(b.slice(q,r))}var k=a.na,l=a.L,m=a.Aa,n=[],q=0,r,s=0,p;for(r=0;r<b.length;++r)if(p=b[r],"("==p||"["==p?(++s,c):")"==p||"]"==p?(s&&--s,c):!(" "==b[r]&&(s||I[b[r-1]]===I||I[b[r+1]]===I)))b[q++]=b[r];b.length=q;q=b.length;for(r=s=0;r<q;++r)if(","===b[r]){if(!g(s,r))return f;s=r+1}return!g(s,q)?f:n};(function(){var b=/^\w/,a=RegExp("^(?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*)(?: , (?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*))*$",
"i");s=function(d){d=d.slice();for(var e=d.length,c=0,f=0;f<e;++f){var g=d[f];" "!=g&&(d[c++]=g)}d.length=c;d=d.join(" ");return!d.length?"":!a.test(d)?"not all":b.test(d)?d:"not all , "+d}})();(function(){function b(a){var d=/^\s*[']([^']*)[']\s*$/,e=/^\s*url\s*[(]["]([^"]*)["][)]\s*$/,c=/^\s*url\s*[(][']([^']*)['][)]\s*$/,g=/^\s*url\s*[(]([^)]*)[)]\s*$/,k;return(k=/^\s*["]([^"]*)["]\s*$/.exec(a))||(k=d.exec(a))||(k=e.exec(a))||(k=c.exec(a))||(k=g.exec(a))?k[1]:f}function e(g,l,m,r,u,v,H){function z(){B=
G.length&&G[G.length-1]===f}var E=a,A=H||[0],G=[],B=d;q(l,{startStylesheet:function(){E=[]},endStylesheet:function(){},startAtrule:function(a,d){if(B)a=f;else if("@media"===a)E.push("@media"," ",s(d));else if("@keyframes"===a||"@-webkit-keyframes"===a){var c=d[0];1===d.length&&!/__$|[^\w\-]/.test(c)?(E.push(a," ",c+m.L),a="@keyframes"):a=f}else if("@import"===a&&0<d.length)if(a=f,"function"===typeof v){var l=s(d.slice(1));if("not all"!==l){++A[0];var n=[];E.push(n);var q=t(k(g,b(d[0])),function(b){var a=
e(q,b.qa,m,r,u,v,A);--A[0];b=l?{toString:function(){return"@media "+l+" {"+a.result+"}"}}:a.result;n[0]=b;v(b,!!A[0])},u)}}else window.console&&window.console.log("@import "+d.join(" ")+" elided");B=!a;G.push(a)},endAtrule:function(){G.pop();B||E.push(";");z()},startBlock:function(){B||E.push("{")},endBlock:function(){B||(E.push("}"),B=c)},startRuleset:function(b){if(!B){var d=a;"@keyframes"===G[G.length-1]?(d=b.join(" ").match(/^ *(?:from|to|\d+(?:\.\d+)?%) *(?:, *(?:from|to|\d+(?:\.\d+)?%) *)*$/i),
B=!d,d&&(d=d[0].replace(/ +/g,""))):(b=p(b,m),!b||!b.length?B=c:d=b.join(", "));B||E.push(d,"{")}G.push(f)},endRuleset:function(){G.pop();B||E.push("}");z()},declaration:function(b,a){if(!B){var e=d,f=a.length;2<=f&&"!"===a[f-2]&&"important"===a[f-1].toLowerCase()&&(e=c,a.length-=2);n(b,a,r,g,m.L);a.length&&E.push(b,":",a.join(" "),e?" !important;":";")}}});return{result:{toString:function(){return E.join("")}},va:!!A[0]}}r=function(b,d,c,f){return e(b,d,c,f,a,a).result.toString()}})()})();"undefined"!==
typeof window&&(window.sanitizeCssProperty=n,window.sanitizeCssSelectorList=p,window.sanitizeStylesheet=r,window.sanitizeMediaQuery=s);var q,t;(function(){function b(d,e,c,f,g){for(var k=e++;e<c&&"{"!==d[e]&&";"!==d[e];)++e;if(e<c&&(g||";"===d[e])){g=k+1;var l=e;g<c&&" "===d[g]&&++g;l>g&&" "===d[l-1]&&--l;f.startAtrule&&f.startAtrule(d[k].toLowerCase(),d.slice(g,l));e="{"===d[e]?a(d,e,c,f):e+1;f.endAtrule&&f.endAtrule()}return e}function a(c,f,g,k){++f;for(k.startBlock&&k.startBlock();f<g;){var l=
c[f].charAt(0);if("}"==l){++f;break}f=" "===l||";"===l?f+1:"@"===l?b(c,f,g,k,d):"{"===l?a(c,f,g,k):e(c,f,g,k)}k.endBlock&&k.endBlock();return f}function e(b,a,d,g){var k=a,m=f(b,a,d,c);if(0>m)return m=~m,m===k?m+1:m;var n=b[m];if("{"!==n)return m===k?m+1:m;a=m+1;m>k&&" "===b[m-1]&&--m;for(g.startRuleset&&g.startRuleset(b.slice(k,m));a<d;){n=b[a];if("}"===n){++a;break}a=" "===n?a+1:l(b,a,d,g)}g.endRuleset&&g.endRuleset();return a}function f(b,a,d,e){for(var c,g=[],k=-1;a<d;++a)if(c=b[a].charAt(0),
"["===c||"("===c)g[++k]=c;else if("]"===c&&"["===g[k]||")"===c&&"("===g[k])--k;else if("{"===c||"}"===c||";"===c||"@"===c||":"===c&&!e)break;0<=k&&(a=~(a+1));return a}function g(b,a,d){for(;a<d&&";"!==b[a]&&"}"!==b[a];)++a;return a<d&&";"===b[a]?a+1:a}function l(b,a,e,c){var k=b[a++];if(!m.test(k))return g(b,a,e);a<e&&" "===b[a]&&++a;if(a==e||":"!==b[a])return g(b,a,e);++a;a<e&&" "===b[a]&&++a;var n=f(b,a,e,d);if(0>n)n=~n;else{for(var q=[],r=0,p=a;p<n;++p)a=b[p]," "!==a&&(q[r++]=a);if(n<e){do{a=b[n];
"["===c||"("===c)g[++k]=c;else if("]"===c&&"["===g[k]||")"===c&&"("===g[k])--k;else if("{"===c||"}"===c||";"===c||"@"===c||":"===c&&!e)break;0<=k&&(a=~(a+1));return a}function g(b,a,d){for(;a<d&&";"!==b[a]&&"}"!==b[a];)++a;return a<d&&";"===b[a]?a+1:a}function l(b,a,e,c){var k=b[a++];if(!m.test(k))return g(b,a,e);a<e&&" "===b[a]&&++a;if(a==e||":"!==b[a])return g(b,a,e);++a;a<e&&" "===b[a]&&++a;var n=f(b,a,e,d);if(0>n)n=~n;else{for(var q=[],r=0,s=a;s<n;++s)a=b[s]," "!==a&&(q[r++]=a);if(n<e){do{a=b[n];
if(";"===a||"}"===a)break;r=0}while(++n<e);";"===a&&++n}r&&c.declaration&&c.declaration(k.toLowerCase(),q)}return n}q=function(a,d){var f=k(a);d.startStylesheet&&d.startStylesheet();for(var g=0,l=f.length;g<l;)g=" "===f[g]?g+1:g<l?"@"===f[g].charAt(0)?b(f,g,l,d,c):e(f,g,l,d):g;d.endStylesheet&&d.endStylesheet()};var m=/^-?[a-z]/i;t=function(b,a){for(var d=k(b),e=0,c=d.length;e<c;)e=" "!==d[e]?l(d,e,c,a):e+1}})();"undefined"!==typeof window&&(window.parseCssStylesheet=q,window.parseCssDeclarations=
t);var v={d:{NONE:0,URI:1,URI_FRAGMENT:11,SCRIPT:2,STYLE:3,HTML:12,ID:4,IDREF:5,IDREFS:6,GLOBAL_NAME:7,LOCAL_NAME:8,CLASSES:9,FRAME_TARGET:10,MEDIA_QUERY:13}};v.atype=v.d;v.m={"*::class":9,"*::dir":0,"*::draggable":0,"*::hidden":0,"*::id":4,"*::inert":0,"*::itemprop":0,"*::itemref":6,"*::itemscope":0,"*::lang":0,"*::onblur":2,"*::onchange":2,"*::onclick":2,"*::ondblclick":2,"*::onerror":2,"*::onfocus":2,"*::onkeydown":2,"*::onkeypress":2,"*::onkeyup":2,"*::onload":2,"*::onmousedown":2,"*::onmousemove":2,
"*::onmouseout":2,"*::onmouseover":2,"*::onmouseup":2,"*::onreset":2,"*::onscroll":2,"*::onselect":2,"*::onsubmit":2,"*::ontouchcancel":2,"*::ontouchend":2,"*::ontouchenter":2,"*::ontouchleave":2,"*::ontouchmove":2,"*::ontouchstart":2,"*::onunload":2,"*::spellcheck":0,"*::style":3,"*::tabindex":0,"*::title":0,"*::translate":0,"a::accesskey":0,"a::coords":0,"a::href":1,"a::hreflang":0,"a::name":7,"a::onblur":2,"a::onfocus":2,"a::shape":0,"a::target":10,"a::type":0,"area::accesskey":0,"area::alt":0,
@ -82,19 +82,19 @@ time:"HTMLTimeElement",title:"HTMLTitleElement",tr:"HTMLTableRowElement",track:"
v.URIEFFECTS=v.J;v.M={UNSANDBOXED:2,SANDBOXED:1,DATA:0};v.ltypes=v.M;v.I={"a::href":2,"area::href":2,"audio::src":2,"blockquote::cite":2,"command::icon":1,"del::cite":2,"form::action":2,"img::src":1,"input::src":1,"ins::cite":2,"q::cite":2,"video::poster":1,"video::src":2};v.LOADERTYPES=v.I;"undefined"!==typeof window&&(window.html4=v);b=function(b){function e(b,a){var d;if(P.hasOwnProperty(a))d=P[a];else{var c=a.match(N);d=c?String.fromCharCode(parseInt(c[1],10)):(c=a.match(V))?String.fromCharCode(parseInt(c[1],
16)):M&&L.test(a)?(M.innerHTML="\x26"+a+";",c=M.textContent,P[a]=c):"\x26"+a+";"}return d}function g(b){return b.replace(X,e)}function k(b){return(""+b).replace(ca,"\x26amp;").replace(Z,"\x26lt;").replace(ba,"\x26gt;").replace(Y,"\x26#34;")}function l(b){return b.replace(S,"\x26amp;$1").replace(Z,"\x26lt;").replace(ba,"\x26gt;")}function n(b){var a={z:b.z||b.cdata,A:b.A||b.comment,B:b.B||b.endDoc,t:b.t||b.endTag,e:b.e||b.pcdata,F:b.F||b.rcdata,H:b.H||b.startDoc,w:b.w||b.startTag};return function(b,
e){var c,g=/(<\/|<\!--|<[!?]|[&<>])/g;c=b+"";if(ia)c=c.split(g);else{for(var k=[],l=0,m;(m=g.exec(c))!==f;)k.push(c.substring(l,m.index)),k.push(m[0]),l=m.index+m[0].length;k.push(c.substring(l));c=k}r(a,c,0,{r:d,C:d},e)}}function q(b,a,d,e,c){return function(){r(b,a,d,e,c)}}function r(a,d,e,f,g){try{a.H&&0==e&&a.H(g);for(var k,l,m,n=d.length;e<n;){var t=d[e++],v=d[e];switch(t){case "\x26":da.test(v)?(a.e&&a.e("\x26"+v,g,aa,q(a,d,e,f,g)),e++):a.e&&a.e("\x26amp;",g,aa,q(a,d,e,f,g));break;case "\x3c/":if(k=
/^([-\w:]+)[^\'\"]*/.exec(v))if(k[0].length===v.length&&"\x3e"===d[e+1])e+=2,m=k[1].toLowerCase(),a.t&&a.t(m,g,aa,q(a,d,e,f,g));else{var z=d,y=e,x=a,B=g,E=aa,C=f,D=s(z,y);D?(x.t&&x.t(D.name,B,E,q(x,z,y,C,B)),e=D.next):e=z.length}else a.e&&a.e("\x26lt;/",g,aa,q(a,d,e,f,g));break;case "\x3c":if(k=/^([-\w:]+)\s*\/?/.exec(v))if(k[0].length===v.length&&"\x3e"===d[e+1]){e+=2;m=k[1].toLowerCase();a.w&&a.w(m,[],g,aa,q(a,d,e,f,g));var F=b.f[m];F&ea&&(e=p(d,{name:m,next:e,c:F},a,g,aa,f))}else{var z=d,y=a,x=
g,B=aa,E=f,P=s(z,e);P?(y.w&&y.w(P.name,P.R,x,B,q(y,z,P.next,E,x)),e=P.c&ea?p(z,P,y,x,B,E):P.next):e=z.length}else a.e&&a.e("\x26lt;",g,aa,q(a,d,e,f,g));break;case "\x3c!--":if(!f.C){for(l=e+1;l<n&&!("\x3e"===d[l]&&/--$/.test(d[l-1]));l++);if(l<n){if(a.A){var T=d.slice(e,l).join("");a.A(T.substr(0,T.length-2),g,aa,q(a,d,l+1,f,g))}e=l+1}else f.C=c}f.C&&a.e&&a.e("\x26lt;!--",g,aa,q(a,d,e,f,g));break;case "\x3c!":if(/^\w/.test(v)){if(!f.r){for(l=e+1;l<n&&"\x3e"!==d[l];l++);l<n?e=l+1:f.r=c}f.r&&a.e&&a.e("\x26lt;!",
g,aa,q(a,d,e,f,g))}else a.e&&a.e("\x26lt;!",g,aa,q(a,d,e,f,g));break;case "\x3c?":if(!f.r){for(l=e+1;l<n&&"\x3e"!==d[l];l++);l<n?e=l+1:f.r=c}f.r&&a.e&&a.e("\x26lt;?",g,aa,q(a,d,e,f,g));break;case "\x3e":a.e&&a.e("\x26gt;",g,aa,q(a,d,e,f,g));break;case "":break;default:a.e&&a.e(t,g,aa,q(a,d,e,f,g))}}a.B&&a.B(g)}catch(I){if(I!==aa)throw I;}}function p(a,d,e,c,f,g){var k=a.length;fa.hasOwnProperty(d.name)||(fa[d.name]=RegExp("^"+d.name+"(?:[\\s\\/]|$)","i"));for(var m=fa[d.name],n=d.next,r=d.next+1;r<
k&&!("\x3c/"===a[r-1]&&m.test(a[r]));r++);r<k&&(r-=1);k=a.slice(n,r).join("");if(d.c&b.c.CDATA)e.z&&e.z(k,c,f,q(e,a,r,g,c));else if(d.c&b.c.RCDATA)e.F&&e.F(l(k),c,f,q(e,a,r,g,c));else throw Error("bug");return r}function s(a,e){var f=/^([-\w:]+)/.exec(a[e]),k={};k.name=f[1].toLowerCase();k.c=b.f[k.name];for(var l=a[e].substr(f[0].length),m=e+1,n=a.length;m<n&&"\x3e"!==a[m];m++)l+=a[m];if(!(n<=m)){for(var q=[];""!==l;)if(f=T.exec(l))if(f[4]&&!f[5]||f[6]&&!f[7]){for(var f=f[4]||f[6],r=d,l=[l,a[m++]];m<
n;m++){if(r){if("\x3e"===a[m])break}else 0<=a[m].indexOf(f)&&(r=c);l.push(a[m])}if(n<=m)break;l=l.join("")}else{var r=f[1].toLowerCase(),p;if(f[2]){p=f[3];var t=p.charCodeAt(0);if(34===t||39===t)p=p.substr(1,p.length-2);p=g(p.replace(R,""))}else p="";q.push(r,p);l=l.substr(f[0].length)}else l=l.replace(/^[\s\S][^a-z\s]*/,"");k.R=q;k.next=m+1;return k}}function t(e){function c(b,a){l||a.push(b)}var g,l;return n({startDoc:function(){g=[];l=d},startTag:function(d,c,m){if(!l&&b.f.hasOwnProperty(d)){var n=
b.f[d];if(!(n&b.c.FOLDABLE)){var q=e(d,c);if(q){if("object"!==typeof q)throw Error("tagPolicy did not return object (old API?)");if("attribs"in q)c=q.attribs;else throw Error("tagPolicy gave no attribs");var r;"tagName"in q?(r=q.tagName,q=b.f[r]):(r=d,q=n);if(n&b.c.OPTIONAL_ENDTAG){var p=g[g.length-1];p&&p.D===d&&(p.v!==r||d!==r)&&m.push("\x3c/",p.v,"\x3e")}n&b.c.EMPTY||g.push({D:d,v:r});m.push("\x3c",r);d=0;for(p=c.length;d<p;d+=2){var s=c[d],t=c[d+1];t!==f&&t!==a&&m.push(" ",s,'\x3d"',k(t),'"')}m.push("\x3e");
/^([-\w:]+)[^\'\"]*/.exec(v))if(k[0].length===v.length&&"\x3e"===d[e+1])e+=2,m=k[1].toLowerCase(),a.t&&a.t(m,g,aa,q(a,d,e,f,g));else{var z=d,y=e,x=a,E=g,C=aa,B=f,D=p(z,y);D?(x.t&&x.t(D.name,E,C,q(x,z,y,B,E)),e=D.next):e=z.length}else a.e&&a.e("\x26lt;/",g,aa,q(a,d,e,f,g));break;case "\x3c":if(k=/^([-\w:]+)\s*\/?/.exec(v))if(k[0].length===v.length&&"\x3e"===d[e+1]){e+=2;m=k[1].toLowerCase();a.w&&a.w(m,[],g,aa,q(a,d,e,f,g));var F=b.f[m];F&ea&&(e=s(d,{name:m,next:e,c:F},a,g,aa,f))}else{var z=d,y=a,x=
g,E=aa,C=f,P=p(z,e);P?(y.w&&y.w(P.name,P.R,x,E,q(y,z,P.next,C,x)),e=P.c&ea?s(z,P,y,x,E,C):P.next):e=z.length}else a.e&&a.e("\x26lt;",g,aa,q(a,d,e,f,g));break;case "\x3c!--":if(!f.C){for(l=e+1;l<n&&!("\x3e"===d[l]&&/--$/.test(d[l-1]));l++);if(l<n){if(a.A){var T=d.slice(e,l).join("");a.A(T.substr(0,T.length-2),g,aa,q(a,d,l+1,f,g))}e=l+1}else f.C=c}f.C&&a.e&&a.e("\x26lt;!--",g,aa,q(a,d,e,f,g));break;case "\x3c!":if(/^\w/.test(v)){if(!f.r){for(l=e+1;l<n&&"\x3e"!==d[l];l++);l<n?e=l+1:f.r=c}f.r&&a.e&&a.e("\x26lt;!",
g,aa,q(a,d,e,f,g))}else a.e&&a.e("\x26lt;!",g,aa,q(a,d,e,f,g));break;case "\x3c?":if(!f.r){for(l=e+1;l<n&&"\x3e"!==d[l];l++);l<n?e=l+1:f.r=c}f.r&&a.e&&a.e("\x26lt;?",g,aa,q(a,d,e,f,g));break;case "\x3e":a.e&&a.e("\x26gt;",g,aa,q(a,d,e,f,g));break;case "":break;default:a.e&&a.e(t,g,aa,q(a,d,e,f,g))}}a.B&&a.B(g)}catch(I){if(I!==aa)throw I;}}function s(a,d,e,c,f,g){var k=a.length;fa.hasOwnProperty(d.name)||(fa[d.name]=RegExp("^"+d.name+"(?:[\\s\\/]|$)","i"));for(var m=fa[d.name],n=d.next,r=d.next+1;r<
k&&!("\x3c/"===a[r-1]&&m.test(a[r]));r++);r<k&&(r-=1);k=a.slice(n,r).join("");if(d.c&b.c.CDATA)e.z&&e.z(k,c,f,q(e,a,r,g,c));else if(d.c&b.c.RCDATA)e.F&&e.F(l(k),c,f,q(e,a,r,g,c));else throw Error("bug");return r}function p(a,e){var f=/^([-\w:]+)/.exec(a[e]),k={};k.name=f[1].toLowerCase();k.c=b.f[k.name];for(var l=a[e].substr(f[0].length),m=e+1,n=a.length;m<n&&"\x3e"!==a[m];m++)l+=a[m];if(!(n<=m)){for(var q=[];""!==l;)if(f=T.exec(l))if(f[4]&&!f[5]||f[6]&&!f[7]){for(var f=f[4]||f[6],r=d,l=[l,a[m++]];m<
n;m++){if(r){if("\x3e"===a[m])break}else 0<=a[m].indexOf(f)&&(r=c);l.push(a[m])}if(n<=m)break;l=l.join("")}else{var r=f[1].toLowerCase(),s;if(f[2]){s=f[3];var t=s.charCodeAt(0);if(34===t||39===t)s=s.substr(1,s.length-2);s=g(s.replace(R,""))}else s="";q.push(r,s);l=l.substr(f[0].length)}else l=l.replace(/^[\s\S][^a-z\s]*/,"");k.R=q;k.next=m+1;return k}}function t(e){function c(b,a){l||a.push(b)}var g,l;return n({startDoc:function(){g=[];l=d},startTag:function(d,c,m){if(!l&&b.f.hasOwnProperty(d)){var n=
b.f[d];if(!(n&b.c.FOLDABLE)){var q=e(d,c);if(q){if("object"!==typeof q)throw Error("tagPolicy did not return object (old API?)");if("attribs"in q)c=q.attribs;else throw Error("tagPolicy gave no attribs");var r;"tagName"in q?(r=q.tagName,q=b.f[r]):(r=d,q=n);if(n&b.c.OPTIONAL_ENDTAG){var s=g[g.length-1];s&&s.D===d&&(s.v!==r||d!==r)&&m.push("\x3c/",s.v,"\x3e")}n&b.c.EMPTY||g.push({D:d,v:r});m.push("\x3c",r);d=0;for(s=c.length;d<s;d+=2){var p=c[d],t=c[d+1];t!==f&&t!==a&&m.push(" ",p,'\x3d"',k(t),'"')}m.push("\x3e");
n&b.c.EMPTY&&!(q&b.c.EMPTY)&&m.push("\x3c/",r,"\x3e")}else l=!(n&b.c.EMPTY)}}},endTag:function(a,e){if(l)l=d;else if(b.f.hasOwnProperty(a)){var c=b.f[a];if(!(c&(b.c.EMPTY|b.c.FOLDABLE))){if(c&b.c.OPTIONAL_ENDTAG)for(c=g.length;0<=--c;){var f=g[c].D;if(f===a)break;if(!(b.f[f]&b.c.OPTIONAL_ENDTAG))return}else for(c=g.length;0<=--c&&g[c].D!==a;);if(!(0>c)){for(f=g.length;--f>c;){var k=g[f].v;b.f[k]&b.c.OPTIONAL_ENDTAG||e.push("\x3c/",k,"\x3e")}c<g.length&&(a=g[c].v);g.length=c;e.push("\x3c/",a,"\x3e")}}}},
pcdata:c,rcdata:c,cdata:c,endDoc:function(b){for(;g.length;g.length--)b.push("\x3c/",g[g.length-1].v,"\x3e")}})}function v(b,a,d,e,c){if(!c)return f;try{var g=m.parse(""+b);if(g&&(!g.K()||ja.test(g.W()))){var k=c(g,a,d,e);return k?k.toString():f}}catch(l){}return f}function K(b,a,d,e,c){d||b(a+" removed",{S:"removed",tagName:a});if(e!==c){var f="changed";e&&!c?f="removed":!e&&c&&(f="added");b(a+"."+d+" "+f,{S:f,tagName:a,la:d,oldValue:e,newValue:c})}}function O(b,a,d){a=a+"::"+d;if(b.hasOwnProperty(a))return b[a];
a="*::"+d;if(b.hasOwnProperty(a))return b[a]}function U(d,e,c,g,k){for(var l=0;l<e.length;l+=2){var m=e[l],n=e[l+1],q=n,r=f,p;if((p=d+"::"+m,b.m.hasOwnProperty(p))||(p="*::"+m,b.m.hasOwnProperty(p)))r=b.m[p];if(r!==f)switch(r){case b.d.NONE:break;case b.d.SCRIPT:n=f;k&&K(k,d,m,q,n);break;case b.d.STYLE:if("undefined"===typeof D){n=f;k&&K(k,d,m,q,n);break}var s=[];D(n,{declaration:function(a,d){var e=a.toLowerCase();Q(e,d,c?function(a){return v(a,b.P.ja,b.M.ka,{TYPE:"CSS",CSS_PROP:e},c)}:f);d.length&&
s.push(e+": "+d.join(" "))}});n=0<s.length?s.join(" ; "):f;k&&K(k,d,m,q,n);break;case b.d.ID:case b.d.IDREF:case b.d.IDREFS:case b.d.GLOBAL_NAME:case b.d.LOCAL_NAME:case b.d.CLASSES:n=g?g(n):n;k&&K(k,d,m,q,n);break;case b.d.URI:n=v(n,O(b.J,d,m),O(b.I,d,m),{TYPE:"MARKUP",XML_ATTR:m,XML_TAG:d},c);k&&K(k,d,m,q,n);break;case b.d.URI_FRAGMENT:n&&"#"===n.charAt(0)?(n=n.substring(1),n=g?g(n):n,n!==f&&n!==a&&(n="#"+n)):n=f;k&&K(k,d,m,q,n);break;default:n=f,k&&K(k,d,m,q,n)}else n=f,k&&K(k,d,m,q,n);e[l+1]=
n}return e}function W(d,e,c){return function(f,g){if(b.f[f]&b.c.UNSAFE)c&&K(c,f,a,a,a);else return{attribs:U(f,g,d,e,c)}}}function B(b,a){var d=[];t(a)(b,d);return d.join("")}var D,Q;"undefined"!==typeof window&&(D=window.parseCssDeclarations,Q=window.sanitizeCssProperty);var P={lt:"\x3c",LT:"\x3c",gt:"\x3e",GT:"\x3e",amp:"\x26",AMP:"\x26",quot:'"',apos:"'",nbsp:"\u00a0"},N=/^#(\d+)$/,V=/^#x([0-9A-Fa-f]+)$/,L=/^[A-Za-z][A-za-z0-9]+$/,M="undefined"!==typeof window&&window.document?window.document.createElement("textarea"):
a="*::"+d;if(b.hasOwnProperty(a))return b[a]}function U(d,e,c,g,k){for(var l=0;l<e.length;l+=2){var m=e[l],n=e[l+1],q=n,r=f,s;if((s=d+"::"+m,b.m.hasOwnProperty(s))||(s="*::"+m,b.m.hasOwnProperty(s)))r=b.m[s];if(r!==f)switch(r){case b.d.NONE:break;case b.d.SCRIPT:n=f;k&&K(k,d,m,q,n);break;case b.d.STYLE:if("undefined"===typeof D){n=f;k&&K(k,d,m,q,n);break}var p=[];D(n,{declaration:function(a,d){var e=a.toLowerCase();Q(e,d,c?function(a){return v(a,b.P.ja,b.M.ka,{TYPE:"CSS",CSS_PROP:e},c)}:f);d.length&&
p.push(e+": "+d.join(" "))}});n=0<p.length?p.join(" ; "):f;k&&K(k,d,m,q,n);break;case b.d.ID:case b.d.IDREF:case b.d.IDREFS:case b.d.GLOBAL_NAME:case b.d.LOCAL_NAME:case b.d.CLASSES:n=g?g(n):n;k&&K(k,d,m,q,n);break;case b.d.URI:n=v(n,O(b.J,d,m),O(b.I,d,m),{TYPE:"MARKUP",XML_ATTR:m,XML_TAG:d},c);k&&K(k,d,m,q,n);break;case b.d.URI_FRAGMENT:n&&"#"===n.charAt(0)?(n=n.substring(1),n=g?g(n):n,n!==f&&n!==a&&(n="#"+n)):n=f;k&&K(k,d,m,q,n);break;default:n=f,k&&K(k,d,m,q,n)}else n=f,k&&K(k,d,m,q,n);e[l+1]=
n}return e}function W(d,e,c){return function(f,g){if(b.f[f]&b.c.UNSAFE)c&&K(c,f,a,a,a);else return{attribs:U(f,g,d,e,c)}}}function C(b,a){var d=[];t(a)(b,d);return d.join("")}var D,Q;"undefined"!==typeof window&&(D=window.parseCssDeclarations,Q=window.sanitizeCssProperty);var P={lt:"\x3c",LT:"\x3c",gt:"\x3e",GT:"\x3e",amp:"\x26",AMP:"\x26",quot:'"',apos:"'",nbsp:"\u00a0"},N=/^#(\d+)$/,V=/^#x([0-9A-Fa-f]+)$/,L=/^[A-Za-z][A-za-z0-9]+$/,M="undefined"!==typeof window&&window.document?window.document.createElement("textarea"):
f,R=/\0/g,X=/&(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/g,da=/^(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/,ca=/&/g,S=/&([^a-z#]|#(?:[^0-9x]|x(?:[^0-9a-f]|$)|$)|$)/gi,Z=/[<]/g,ba=/>/g,Y=/\"/g,T=/^\s*([-.:\w]+)(?:\s*(=)\s*((")[^"]*("|$)|(')[^']*('|$)|(?=[a-z][-\w]*\s*=)|[^"'\s]*))?/i,ia=3==="a,b".split(/(,)/).length,ea=b.c.CDATA|b.c.RCDATA,aa={},fa={},ja=/^(?:https?|mailto|data)$/i,ga={};ga.pa=ga.escapeAttrib=k;ga.ra=ga.makeHtmlSanitizer=t;ga.sa=ga.makeSaxParser=n;ga.ta=ga.makeTagPolicy=W;ga.wa=ga.normalizeRCData=l;ga.xa=
ga.sanitize=function(b,a,d,e){return B(b,W(a,d,e))};ga.ya=ga.sanitizeAttribs=U;ga.za=ga.sanitizeWithPolicy=B;ga.Ba=ga.unescapeEntities=g;return ga}(v);g=b.sanitize;"undefined"!==typeof window&&(window.html=b,window.html_sanitize=g)})();
ga.sanitize=function(b,a,d,e){return C(b,W(a,d,e))};ga.ya=ga.sanitizeAttribs=U;ga.za=ga.sanitizeWithPolicy=C;ga.Ba=ga.unescapeEntities=g;return ga}(v);g=b.sanitize;"undefined"!==typeof window&&(window.html=b,window.html_sanitize=g)})();
!function(a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define([],a):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).pako=a()}(function(){return function c(f,d,b){function e(k,m){if(!d[k]){if(!f[k]){var n="function"==typeof require&&require;if(!m&&n)return n(k,!0);if(g)return g(k,!0);n=Error("Cannot find module '"+k+"'");throw n.code="MODULE_NOT_FOUND",n;}n=d[k]={exports:{}};
f[k][0].call(n.exports,function(b){var d=f[k][1][b];return e(d?d:b)},n,n.exports,c,f,d,b)}return d[k].exports}for(var g="function"==typeof require&&require,k=0;k<b.length;k++)e(b[k]);return e}({1:[function(c,f,d){function b(d){if(!(this instanceof b))return new b(d);d=this.options=k.assign({level:s,method:t,chunkSize:16384,windowBits:15,memLevel:8,strategy:q,to:""},d||{});d.raw&&0<d.windowBits?d.windowBits=-d.windowBits:d.gzip&&0<d.windowBits&&16>d.windowBits&&(d.windowBits+=16);this.err=0;this.msg=
"";this.ended=!1;this.chunks=[];this.strm=new n;this.strm.avail_out=0;var e=g.deflateInit2(this.strm,d.level,d.method,d.windowBits,d.memLevel,d.strategy);if(e!==r)throw Error(m[e]);if(d.header&&g.deflateSetHeader(this.strm,d.header),d.dictionary){var c;if(c="string"==typeof d.dictionary?l.string2buf(d.dictionary):"[object ArrayBuffer]"===p.call(d.dictionary)?new Uint8Array(d.dictionary):d.dictionary,e=g.deflateSetDictionary(this.strm,c),e!==r)throw Error(m[e]);this._dict_set=!0}}function e(d,e){var c=
@ -102,10 +102,10 @@ new b(e);if(c.push(d,!0),c.err)throw c.msg;return c.result}var g=c("./zlib/defla
f.avail_out&&(f.output=new k.Buf8(m),f.next_out=0,f.avail_out=m),e=g.deflate(f,c),1!==e&&e!==r)return this.onEnd(e),this.ended=!0,!1;0!==f.avail_out&&(0!==f.avail_in||4!==c&&2!==c)||("string"===this.options.to?this.onData(l.buf2binstring(k.shrinkBuf(f.output,f.next_out))):this.onData(k.shrinkBuf(f.output,f.next_out)))}while((0<f.avail_in||0===f.avail_out)&&1!==e);return 4===c?(e=g.deflateEnd(this.strm),this.onEnd(e),this.ended=!0,e===r):2!==c||(this.onEnd(r),f.avail_out=0,!0)};b.prototype.onData=
function(b){this.chunks.push(b)};b.prototype.onEnd=function(b){b===r&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=k.flattenChunks(this.chunks));this.chunks=[];this.err=b;this.msg=this.strm.msg};d.Deflate=b;d.deflate=e;d.deflateRaw=function(b,d){return d=d||{},d.raw=!0,e(b,d)};d.gzip=function(b,d){return d=d||{},d.gzip=!0,e(b,d)}},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(c,f,d){function b(d){if(!(this instanceof
b))return new b(d);var e=this.options=k.assign({chunkSize:16384,windowBits:0,to:""},d||{});e.raw&&0<=e.windowBits&&16>e.windowBits&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15));!(0<=e.windowBits&&16>e.windowBits)||d&&d.windowBits||(e.windowBits+=32);15<e.windowBits&&48>e.windowBits&&0===(15&e.windowBits)&&(e.windowBits|=15);this.err=0;this.msg="";this.ended=!1;this.chunks=[];this.strm=new p;this.strm.avail_out=0;d=g.inflateInit2(this.strm,e.windowBits);if(d!==m.Z_OK)throw Error(n[d]);
this.header=new r;g.inflateGetHeader(this.strm,this.header)}function e(d,e){var c=new b(e);if(c.push(d,!0),c.err)throw c.msg;return c.result}var g=c("./zlib/inflate"),k=c("./utils/common"),l=c("./utils/strings"),m=c("./zlib/constants"),n=c("./zlib/messages"),p=c("./zlib/zstream"),r=c("./zlib/gzheader"),s=Object.prototype.toString;b.prototype.push=function(b,d){var e,c,f,n,r,p,C=this.strm,A=this.options.chunkSize,E=this.options.dictionary,G=!1;if(this.ended)return!1;c=d===~~d?d:!0===d?m.Z_FINISH:m.Z_NO_FLUSH;
"string"==typeof b?C.input=l.binstring2buf(b):"[object ArrayBuffer]"===s.call(b)?C.input=new Uint8Array(b):C.input=b;C.next_in=0;C.avail_in=C.input.length;do{if(0===C.avail_out&&(C.output=new k.Buf8(A),C.next_out=0,C.avail_out=A),e=g.inflate(C,m.Z_NO_FLUSH),e===m.Z_NEED_DICT&&E&&(p="string"==typeof E?l.string2buf(E):"[object ArrayBuffer]"===s.call(E)?new Uint8Array(E):E,e=g.inflateSetDictionary(this.strm,p)),e===m.Z_BUF_ERROR&&!0===G&&(e=m.Z_OK,G=!1),e!==m.Z_STREAM_END&&e!==m.Z_OK)return this.onEnd(e),
this.ended=!0,!1;C.next_out&&(0!==C.avail_out&&e!==m.Z_STREAM_END&&(0!==C.avail_in||c!==m.Z_FINISH&&c!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(f=l.utf8border(C.output,C.next_out),n=C.next_out-f,r=l.buf2string(C.output,f),C.next_out=n,C.avail_out=A-n,n&&k.arraySet(C.output,C.output,f,n,0),this.onData(r)):this.onData(k.shrinkBuf(C.output,C.next_out))));0===C.avail_in&&0===C.avail_out&&(G=!0)}while((0<C.avail_in||0===C.avail_out)&&e!==m.Z_STREAM_END);return e===m.Z_STREAM_END&&(c=m.Z_FINISH),
c===m.Z_FINISH?(e=g.inflateEnd(this.strm),this.onEnd(e),this.ended=!0,e===m.Z_OK):c!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),C.avail_out=0,!0)};b.prototype.onData=function(b){this.chunks.push(b)};b.prototype.onEnd=function(b){b===m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=k.flattenChunks(this.chunks));this.chunks=[];this.err=b;this.msg=this.strm.msg};d.Inflate=b;d.inflate=e;d.inflateRaw=function(b,d){return d=d||{},d.raw=!0,e(b,d)};d.ungzip=e},{"./utils/common":3,
this.header=new r;g.inflateGetHeader(this.strm,this.header)}function e(d,e){var c=new b(e);if(c.push(d,!0),c.err)throw c.msg;return c.result}var g=c("./zlib/inflate"),k=c("./utils/common"),l=c("./utils/strings"),m=c("./zlib/constants"),n=c("./zlib/messages"),p=c("./zlib/zstream"),r=c("./zlib/gzheader"),s=Object.prototype.toString;b.prototype.push=function(b,d){var e,c,f,n,r,p,B=this.strm,A=this.options.chunkSize,E=this.options.dictionary,G=!1;if(this.ended)return!1;c=d===~~d?d:!0===d?m.Z_FINISH:m.Z_NO_FLUSH;
"string"==typeof b?B.input=l.binstring2buf(b):"[object ArrayBuffer]"===s.call(b)?B.input=new Uint8Array(b):B.input=b;B.next_in=0;B.avail_in=B.input.length;do{if(0===B.avail_out&&(B.output=new k.Buf8(A),B.next_out=0,B.avail_out=A),e=g.inflate(B,m.Z_NO_FLUSH),e===m.Z_NEED_DICT&&E&&(p="string"==typeof E?l.string2buf(E):"[object ArrayBuffer]"===s.call(E)?new Uint8Array(E):E,e=g.inflateSetDictionary(this.strm,p)),e===m.Z_BUF_ERROR&&!0===G&&(e=m.Z_OK,G=!1),e!==m.Z_STREAM_END&&e!==m.Z_OK)return this.onEnd(e),
this.ended=!0,!1;B.next_out&&(0!==B.avail_out&&e!==m.Z_STREAM_END&&(0!==B.avail_in||c!==m.Z_FINISH&&c!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(f=l.utf8border(B.output,B.next_out),n=B.next_out-f,r=l.buf2string(B.output,f),B.next_out=n,B.avail_out=A-n,n&&k.arraySet(B.output,B.output,f,n,0),this.onData(r)):this.onData(k.shrinkBuf(B.output,B.next_out))));0===B.avail_in&&0===B.avail_out&&(G=!0)}while((0<B.avail_in||0===B.avail_out)&&e!==m.Z_STREAM_END);return e===m.Z_STREAM_END&&(c=m.Z_FINISH),
c===m.Z_FINISH?(e=g.inflateEnd(this.strm),this.onEnd(e),this.ended=!0,e===m.Z_OK):c!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),B.avail_out=0,!0)};b.prototype.onData=function(b){this.chunks.push(b)};b.prototype.onEnd=function(b){b===m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=k.flattenChunks(this.chunks));this.chunks=[];this.err=b;this.msg=this.strm.msg};d.Inflate=b;d.inflate=e;d.inflateRaw=function(b,d){return d=d||{},d.raw=!0,e(b,d)};d.ungzip=e},{"./utils/common":3,
"./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(c,f,d){c="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;d.assign=function(b){for(var d=Array.prototype.slice.call(arguments,1);d.length;){var e=d.shift();if(e){if("object"!=typeof e)throw new TypeError(e+"must be non-object");for(var c in e)e.hasOwnProperty(c)&&(b[c]=e[c])}}return b};d.shrinkBuf=function(b,d){return b.length===
d?b:b.subarray?b.subarray(0,d):(b.length=d,b)};var b={arraySet:function(b,d,e,c,f){if(d.subarray&&b.subarray)return void b.set(d.subarray(e,e+c),f);for(var p=0;p<c;p++)b[f+p]=d[e+p]},flattenChunks:function(b){var d,e,c,f,p;d=c=0;for(e=b.length;d<e;d++)c+=b[d].length;p=new Uint8Array(c);d=c=0;for(e=b.length;d<e;d++)f=b[d],p.set(f,c),c+=f.length;return p}},e={arraySet:function(b,d,e,c,f){for(var p=0;p<c;p++)b[f+p]=d[e+p]},flattenChunks:function(b){return[].concat.apply([],b)}};d.setTyped=function(c){c?
(d.Buf8=Uint8Array,d.Buf16=Uint16Array,d.Buf32=Int32Array,d.assign(d,b)):(d.Buf8=Array,d.Buf16=Array,d.Buf32=Array,d.assign(d,e))};d.setTyped(c)},{}],4:[function(c,f,d){function b(b,d){if(65537>d&&(b.subarray&&k||!b.subarray&&g))return String.fromCharCode.apply(null,e.shrinkBuf(b,d));for(var c="",f=0;f<d;f++)c+=String.fromCharCode(b[f]);return c}var e=c("./common"),g=!0,k=!0;try{String.fromCharCode.apply(null,[0])}catch(l){g=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(m){k=!1}var n=
@ -114,76 +114,76 @@ c?(d[k++]=192|c>>>6,d[k++]=128|63&c):65536>c?(d[k++]=224|c>>>12,d[k++]=128|c>>>6
2===k?31:3===k?15:7;1<k&&c<l;)g=g<<6|63&d[c++],k--;1<k?m[f++]=65533:65536>g?m[f++]=g:(g-=65536,m[f++]=55296|g>>10&1023,m[f++]=56320|1023&g)}return b(m,f)};d.utf8border=function(b,d){var e;d=d||b.length;d>b.length&&(d=b.length);for(e=d-1;0<=e&&128===(192&b[e]);)e--;return 0>e?d:0===e?d:e+n[b[e]]>d?e:d}},{"./common":3}],5:[function(c,f,d){f.exports=function(b,d,c,f){var l=65535&b|0;b=b>>>16&65535|0;for(var m=0;0!==c;){m=2E3<c?2E3:c;c-=m;do l=l+d[f++]|0,b=b+l|0;while(--m);l%=65521;b%=65521}return l|
b<<16|0}},{}],6:[function(c,f,d){f.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(c,f,d){var b=function(){for(var b,d=[],c=0;256>c;c++){b=c;
for(var f=0;8>f;f++)b=1&b?3988292384^b>>>1:b>>>1;d[c]=b}return d}();f.exports=function(d,c,f,l){f=l+f;for(d^=-1;l<f;l++)d=d>>>8^b[255&(d^c[l])];return d^-1}},{}],8:[function(c,f,d){function b(b,d){return b.msg=E[d],d}function e(b){for(var d=b.length;0<=--d;)b[d]=0}function g(b){var d=b.state,e=d.pending;e>b.avail_out&&(e=b.avail_out);0!==e&&(y.arraySet(b.output,d.pending_buf,d.pending_out,e,b.next_out),b.next_out+=e,d.pending_out+=e,b.total_out+=e,b.avail_out-=e,d.pending-=e,0===d.pending&&(d.pending_out=
0))}function k(b,d){F._tr_flush_block(b,0<=b.block_start?b.block_start:-1,b.strstart-b.block_start,d);b.block_start=b.strstart;g(b.strm)}function l(b,d){b.pending_buf[b.pending++]=d}function m(b,d){b.pending_buf[b.pending++]=d>>>8&255;b.pending_buf[b.pending++]=255&d}function n(b,d){var e,c,f=b.max_chain_length,g=b.strstart,k=b.prev_length,l=b.nice_match,m=b.strstart>b.w_size-X?b.strstart-(b.w_size-X):0,n=b.window,q=b.w_mask,r=b.prev,p=b.strstart+R,s=n[g+k-1],t=n[g+k];b.prev_length>=b.good_match&&
(f>>=2);l>b.lookahead&&(l=b.lookahead);do if(e=d,n[e+k]===t&&n[e+k-1]===s&&n[e]===n[g]&&n[++e]===n[g+1]){g+=2;e++;do;while(n[++g]===n[++e]&&n[++g]===n[++e]&&n[++g]===n[++e]&&n[++g]===n[++e]&&n[++g]===n[++e]&&n[++g]===n[++e]&&n[++g]===n[++e]&&n[++g]===n[++e]&&g<p);if(c=R-(p-g),g=p-R,c>k){if(b.match_start=d,k=c,c>=l)break;s=n[g+k-1];t=n[g+k]}}while((d=r[d&q])>m&&0!==--f);return k<=b.lookahead?k:b.lookahead}function p(b){var d,e,c,f,g=b.w_size;do{if(f=b.window_size-b.lookahead-b.strstart,b.strstart>=
g+(g-X)){y.arraySet(b.window,b.window,g,g,0);b.match_start-=g;b.strstart-=g;b.block_start-=g;d=e=b.hash_size;do c=b.head[--d],b.head[d]=c>=g?c-g:0;while(--e);d=e=g;do c=b.prev[--d],b.prev[d]=c>=g?c-g:0;while(--e);f+=g}if(0===b.strm.avail_in)break;d=b.strm;c=b.window;var k=b.strstart+b.lookahead,l=d.avail_in;if(e=(l>f&&(l=f),0===l?0:(d.avail_in-=l,y.arraySet(c,d.input,d.next_in,l,k),1===d.state.wrap?d.adler=C(d.adler,c,l,k):2===d.state.wrap&&(d.adler=A(d.adler,c,l,k)),d.next_in+=l,d.total_in+=l,l)),
0))}function k(b,d){F._tr_flush_block(b,0<=b.block_start?b.block_start:-1,b.strstart-b.block_start,d);b.block_start=b.strstart;g(b.strm)}function l(b,d){b.pending_buf[b.pending++]=d}function m(b,d){b.pending_buf[b.pending++]=d>>>8&255;b.pending_buf[b.pending++]=255&d}function n(b,d){var e,c,f=b.max_chain_length,g=b.strstart,k=b.prev_length,l=b.nice_match,m=b.strstart>b.w_size-X?b.strstart-(b.w_size-X):0,n=b.window,q=b.w_mask,r=b.prev,s=b.strstart+R,p=n[g+k-1],t=n[g+k];b.prev_length>=b.good_match&&
(f>>=2);l>b.lookahead&&(l=b.lookahead);do if(e=d,n[e+k]===t&&n[e+k-1]===p&&n[e]===n[g]&&n[++e]===n[g+1]){g+=2;e++;do;while(n[++g]===n[++e]&&n[++g]===n[++e]&&n[++g]===n[++e]&&n[++g]===n[++e]&&n[++g]===n[++e]&&n[++g]===n[++e]&&n[++g]===n[++e]&&n[++g]===n[++e]&&g<s);if(c=R-(s-g),g=s-R,c>k){if(b.match_start=d,k=c,c>=l)break;p=n[g+k-1];t=n[g+k]}}while((d=r[d&q])>m&&0!==--f);return k<=b.lookahead?k:b.lookahead}function p(b){var d,e,c,f,g=b.w_size;do{if(f=b.window_size-b.lookahead-b.strstart,b.strstart>=
g+(g-X)){y.arraySet(b.window,b.window,g,g,0);b.match_start-=g;b.strstart-=g;b.block_start-=g;d=e=b.hash_size;do c=b.head[--d],b.head[d]=c>=g?c-g:0;while(--e);d=e=g;do c=b.prev[--d],b.prev[d]=c>=g?c-g:0;while(--e);f+=g}if(0===b.strm.avail_in)break;d=b.strm;c=b.window;var k=b.strstart+b.lookahead,l=d.avail_in;if(e=(l>f&&(l=f),0===l?0:(d.avail_in-=l,y.arraySet(c,d.input,d.next_in,l,k),1===d.state.wrap?d.adler=B(d.adler,c,l,k):2===d.state.wrap&&(d.adler=A(d.adler,c,l,k)),d.next_in+=l,d.total_in+=l,l)),
b.lookahead+=e,b.lookahead+b.insert>=M){f=b.strstart-b.insert;b.ins_h=b.window[f];for(b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+1])&b.hash_mask;b.insert&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+M-1])&b.hash_mask,b.prev[f&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=f,f++,b.insert--,!(b.lookahead+b.insert<M)););}}while(b.lookahead<X&&0!==b.strm.avail_in)}function r(b,d){for(var e,c;;){if(b.lookahead<X){if(p(b),b.lookahead<X&&d===G)return S;if(0===b.lookahead)break}if(e=0,b.lookahead>=M&&(b.ins_h=(b.ins_h<<
b.hash_shift^b.window[b.strstart+M-1])&b.hash_mask,e=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),0!==e&&b.strstart-e<=b.w_size-X&&(b.match_length=n(b,e)),b.match_length>=M)if(c=F._tr_tally(b,b.strstart-b.match_start,b.match_length-M),b.lookahead-=b.match_length,b.match_length<=b.max_lazy_match&&b.lookahead>=M){b.match_length--;do b.strstart++,b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+M-1])&b.hash_mask,e=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=
b.strstart;while(0!==--b.match_length);b.strstart++}else b.strstart+=b.match_length,b.match_length=0,b.ins_h=b.window[b.strstart],b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+1])&b.hash_mask;else c=F._tr_tally(b,0,b.window[b.strstart]),b.lookahead--,b.strstart++;if(c&&(k(b,!1),0===b.strm.avail_out))return S}return b.insert=b.strstart<M-1?b.strstart:M-1,d===H?(k(b,!0),0===b.strm.avail_out?ba:Y):b.last_lit&&(k(b,!1),0===b.strm.avail_out)?S:Z}function s(b,d){for(var e,c,f;;){if(b.lookahead<X){if(p(b),
b.lookahead<X&&d===G)return S;if(0===b.lookahead)break}if(e=0,b.lookahead>=M&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+M-1])&b.hash_mask,e=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),b.prev_length=b.match_length,b.prev_match=b.match_start,b.match_length=M-1,0!==e&&b.prev_length<b.max_lazy_match&&b.strstart-e<=b.w_size-X&&(b.match_length=n(b,e),5>=b.match_length&&(b.strategy===O||b.match_length===M&&4096<b.strstart-b.match_start)&&(b.match_length=M-1)),b.prev_length>=
M&&b.match_length<=b.prev_length){f=b.strstart+b.lookahead-M;c=F._tr_tally(b,b.strstart-1-b.prev_match,b.prev_length-M);b.lookahead-=b.prev_length-1;b.prev_length-=2;do++b.strstart<=f&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+M-1])&b.hash_mask,e=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart);while(0!==--b.prev_length);if(b.match_available=0,b.match_length=M-1,b.strstart++,c&&(k(b,!1),0===b.strm.avail_out))return S}else if(b.match_available){if(c=F._tr_tally(b,0,
b.window[b.strstart-1]),c&&k(b,!1),b.strstart++,b.lookahead--,0===b.strm.avail_out)return S}else b.match_available=1,b.strstart++,b.lookahead--}return b.match_available&&(F._tr_tally(b,0,b.window[b.strstart-1]),b.match_available=0),b.insert=b.strstart<M-1?b.strstart:M-1,d===H?(k(b,!0),0===b.strm.avail_out?ba:Y):b.last_lit&&(k(b,!1),0===b.strm.avail_out)?S:Z}function q(b,d,e,c,f){this.good_length=b;this.max_lazy=d;this.nice_length=e;this.max_chain=c;this.func=f}function t(){this.strm=null;this.status=
0;this.pending_buf=null;this.wrap=this.pending=this.pending_out=this.pending_buf_size=0;this.gzhead=null;this.gzindex=0;this.method=B;this.last_flush=-1;this.w_mask=this.w_bits=this.w_size=0;this.window=null;this.window_size=0;this.head=this.prev=null;this.nice_match=this.good_match=this.strategy=this.level=this.max_lazy_match=this.max_chain_length=this.prev_length=this.lookahead=this.match_start=this.strstart=this.match_available=this.prev_match=this.match_length=this.block_start=this.hash_shift=
0;this.pending_buf=null;this.wrap=this.pending=this.pending_out=this.pending_buf_size=0;this.gzhead=null;this.gzindex=0;this.method=C;this.last_flush=-1;this.w_mask=this.w_bits=this.w_size=0;this.window=null;this.window_size=0;this.head=this.prev=null;this.nice_match=this.good_match=this.strategy=this.level=this.max_lazy_match=this.max_chain_length=this.prev_length=this.lookahead=this.match_start=this.strstart=this.match_available=this.prev_match=this.match_length=this.block_start=this.hash_shift=
this.hash_mask=this.hash_bits=this.hash_size=this.ins_h=0;this.dyn_ltree=new y.Buf16(2*V);this.dyn_dtree=new y.Buf16(2*(2*P+1));this.bl_tree=new y.Buf16(2*(2*N+1));e(this.dyn_ltree);e(this.dyn_dtree);e(this.bl_tree);this.bl_desc=this.d_desc=this.l_desc=null;this.bl_count=new y.Buf16(L+1);this.heap=new y.Buf16(2*Q+1);e(this.heap);this.heap_max=this.heap_len=0;this.depth=new y.Buf16(2*Q+1);e(this.depth);this.bi_valid=this.bi_buf=this.insert=this.matches=this.static_len=this.opt_len=this.d_buf=this.last_lit=
this.lit_bufsize=this.l_buf=0}function v(d){var e;return d&&d.state?(d.total_in=d.total_out=0,d.data_type=W,e=d.state,e.pending=0,e.pending_out=0,0>e.wrap&&(e.wrap=-e.wrap),e.status=e.wrap?da:ca,d.adler=2===e.wrap?0:1,e.last_flush=G,F._tr_init(e),I):b(d,J)}function u(b){var d=v(b);d===I&&(b=b.state,b.window_size=2*b.w_size,e(b.head),b.max_lazy_match=x[b.level].max_lazy,b.good_match=x[b.level].good_length,b.nice_match=x[b.level].nice_length,b.max_chain_length=x[b.level].max_chain,b.strstart=0,b.block_start=
0,b.lookahead=0,b.insert=0,b.match_length=b.prev_length=M-1,b.match_available=0,b.ins_h=0);return d}function z(d,e,c,f,g,k){if(!d)return J;var l=1;if(e===K&&(e=6),0>f?(l=0,f=-f):15<f&&(l=2,f-=16),1>g||g>D||c!==B||8>f||15<f||0>e||9<e||0>k||k>U)return b(d,J);8===f&&(f=9);var m=new t;return d.state=m,m.strm=d,m.wrap=l,m.gzhead=null,m.w_bits=f,m.w_size=1<<m.w_bits,m.w_mask=m.w_size-1,m.hash_bits=g+7,m.hash_size=1<<m.hash_bits,m.hash_mask=m.hash_size-1,m.hash_shift=~~((m.hash_bits+M-1)/M),m.window=new y.Buf8(2*
m.w_size),m.head=new y.Buf16(m.hash_size),m.prev=new y.Buf16(m.w_size),m.lit_bufsize=1<<g+6,m.pending_buf_size=4*m.lit_bufsize,m.pending_buf=new y.Buf8(m.pending_buf_size),m.d_buf=1*m.lit_bufsize,m.l_buf=3*m.lit_bufsize,m.level=e,m.strategy=k,m.method=c,u(d)}var x,y=c("../utils/common"),F=c("./trees"),C=c("./adler32"),A=c("./crc32"),E=c("./messages"),G=0,H=4,I=0,J=-2,K=-1,O=1,U=4,W=2,B=8,D=9,Q=286,P=30,N=19,V=2*Q+1,L=15,M=3,R=258,X=R+M+1,da=42,ca=113,S=1,Z=2,ba=3,Y=4;x=[new q(0,0,0,0,function(b,d){var e=
0,b.lookahead=0,b.insert=0,b.match_length=b.prev_length=M-1,b.match_available=0,b.ins_h=0);return d}function z(d,e,c,f,g,k){if(!d)return J;var l=1;if(e===K&&(e=6),0>f?(l=0,f=-f):15<f&&(l=2,f-=16),1>g||g>D||c!==C||8>f||15<f||0>e||9<e||0>k||k>U)return b(d,J);8===f&&(f=9);var m=new t;return d.state=m,m.strm=d,m.wrap=l,m.gzhead=null,m.w_bits=f,m.w_size=1<<m.w_bits,m.w_mask=m.w_size-1,m.hash_bits=g+7,m.hash_size=1<<m.hash_bits,m.hash_mask=m.hash_size-1,m.hash_shift=~~((m.hash_bits+M-1)/M),m.window=new y.Buf8(2*
m.w_size),m.head=new y.Buf16(m.hash_size),m.prev=new y.Buf16(m.w_size),m.lit_bufsize=1<<g+6,m.pending_buf_size=4*m.lit_bufsize,m.pending_buf=new y.Buf8(m.pending_buf_size),m.d_buf=1*m.lit_bufsize,m.l_buf=3*m.lit_bufsize,m.level=e,m.strategy=k,m.method=c,u(d)}var x,y=c("../utils/common"),F=c("./trees"),B=c("./adler32"),A=c("./crc32"),E=c("./messages"),G=0,H=4,I=0,J=-2,K=-1,O=1,U=4,W=2,C=8,D=9,Q=286,P=30,N=19,V=2*Q+1,L=15,M=3,R=258,X=R+M+1,da=42,ca=113,S=1,Z=2,ba=3,Y=4;x=[new q(0,0,0,0,function(b,d){var e=
65535;for(e>b.pending_buf_size-5&&(e=b.pending_buf_size-5);;){if(1>=b.lookahead){if(p(b),0===b.lookahead&&d===G)return S;if(0===b.lookahead)break}b.strstart+=b.lookahead;b.lookahead=0;var c=b.block_start+e;if((0===b.strstart||b.strstart>=c)&&(b.lookahead=b.strstart-c,b.strstart=c,k(b,!1),0===b.strm.avail_out)||b.strstart-b.block_start>=b.w_size-X&&(k(b,!1),0===b.strm.avail_out))return S}return b.insert=0,d===H?(k(b,!0),0===b.strm.avail_out?ba:Y):(b.strstart>b.block_start&&k(b,!1),S)}),new q(4,4,8,
4,r),new q(4,5,16,8,r),new q(4,6,32,32,r),new q(4,4,16,16,s),new q(8,16,32,32,s),new q(8,16,128,128,s),new q(8,32,128,256,s),new q(32,128,258,1024,s),new q(32,258,258,4096,s)];d.deflateInit=function(b,d){return z(b,d,B,15,8,0)};d.deflateInit2=z;d.deflateReset=u;d.deflateResetKeep=v;d.deflateSetHeader=function(b,d){return b&&b.state?2!==b.state.wrap?J:(b.state.gzhead=d,I):J};d.deflate=function(d,c){var f,n,q,r;if(!d||!d.state||5<c||0>c)return d?b(d,J):J;if(n=d.state,!d.output||!d.input&&0!==d.avail_in||
4,r),new q(4,5,16,8,r),new q(4,6,32,32,r),new q(4,4,16,16,s),new q(8,16,32,32,s),new q(8,16,128,128,s),new q(8,32,128,256,s),new q(32,128,258,1024,s),new q(32,258,258,4096,s)];d.deflateInit=function(b,d){return z(b,d,C,15,8,0)};d.deflateInit2=z;d.deflateReset=u;d.deflateResetKeep=v;d.deflateSetHeader=function(b,d){return b&&b.state?2!==b.state.wrap?J:(b.state.gzhead=d,I):J};d.deflate=function(d,c){var f,n,q,r;if(!d||!d.state||5<c||0>c)return d?b(d,J):J;if(n=d.state,!d.output||!d.input&&0!==d.avail_in||
666===n.status&&c!==H)return b(d,0===d.avail_out?-5:J);if(n.strm=d,f=n.last_flush,n.last_flush=c,n.status===da)2===n.wrap?(d.adler=0,l(n,31),l(n,139),l(n,8),n.gzhead?(l(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),l(n,255&n.gzhead.time),l(n,n.gzhead.time>>8&255),l(n,n.gzhead.time>>16&255),l(n,n.gzhead.time>>24&255),l(n,9===n.level?2:2<=n.strategy||2>n.level?4:0),l(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(l(n,255&n.gzhead.extra.length),
l(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(d.adler=A(d.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(l(n,0),l(n,0),l(n,0),l(n,0),l(n,0),l(n,9===n.level?2:2<=n.strategy||2>n.level?4:0),l(n,3),n.status=ca)):(q=B+(n.w_bits-8<<4)<<8,r=2<=n.strategy||2>n.level?0:6>n.level?1:6===n.level?2:3,q|=r<<6,0!==n.strstart&&(q|=32),n.status=ca,m(n,q+(31-q%31)),0!==n.strstart&&(m(n,d.adler>>>16),m(n,65535&d.adler)),d.adler=1);if(69===n.status)if(n.gzhead.extra){for(q=n.pending;n.gzindex<(65535&
l(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(d.adler=A(d.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(l(n,0),l(n,0),l(n,0),l(n,0),l(n,0),l(n,9===n.level?2:2<=n.strategy||2>n.level?4:0),l(n,3),n.status=ca)):(q=C+(n.w_bits-8<<4)<<8,r=2<=n.strategy||2>n.level?0:6>n.level?1:6===n.level?2:3,q|=r<<6,0!==n.strstart&&(q|=32),n.status=ca,m(n,q+(31-q%31)),0!==n.strstart&&(m(n,d.adler>>>16),m(n,65535&d.adler)),d.adler=1);if(69===n.status)if(n.gzhead.extra){for(q=n.pending;n.gzindex<(65535&
n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>q&&(d.adler=A(d.adler,n.pending_buf,n.pending-q,q)),g(d),q=n.pending,n.pending!==n.pending_buf_size));)l(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>q&&(d.adler=A(d.adler,n.pending_buf,n.pending-q,q));n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){q=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>q&&
(d.adler=A(d.adler,n.pending_buf,n.pending-q,q)),g(d),q=n.pending,n.pending===n.pending_buf_size)){r=1;break}r=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0;l(n,r)}while(0!==r);n.gzhead.hcrc&&n.pending>q&&(d.adler=A(d.adler,n.pending_buf,n.pending-q,q));0===r&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){q=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>q&&(d.adler=A(d.adler,n.pending_buf,n.pending-q,q)),g(d),
q=n.pending,n.pending===n.pending_buf_size)){r=1;break}r=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0;l(n,r)}while(0!==r);n.gzhead.hcrc&&n.pending>q&&(d.adler=A(d.adler,n.pending_buf,n.pending-q,q));0===r&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&g(d),n.pending+2<=n.pending_buf_size&&(l(n,255&d.adler),l(n,d.adler>>8&255),d.adler=0,n.status=ca)):n.status=ca),0!==n.pending){if(g(d),0===d.avail_out)return n.last_flush=
-1,I}else if(0===d.avail_in&&(c<<1)-(4<c?9:0)<=(f<<1)-(4<f?9:0)&&c!==H)return b(d,-5);if(666===n.status&&0!==d.avail_in)return b(d,-5);if(0!==d.avail_in||0!==n.lookahead||c!==G&&666!==n.status){var s;if(2===n.strategy)a:{for(var t;;){if(0===n.lookahead&&(p(n),0===n.lookahead)){if(c===G){s=S;break a}break}if(n.match_length=0,t=F._tr_tally(n,0,n.window[n.strstart]),n.lookahead--,n.strstart++,t&&(k(n,!1),0===n.strm.avail_out)){s=S;break a}}s=(n.insert=0,c===H?(k(n,!0),0===n.strm.avail_out?ba:Y):n.last_lit&&
(k(n,!1),0===n.strm.avail_out)?S:Z)}else if(3===n.strategy)a:{var v,u;for(t=n.window;;){if(n.lookahead<=R){if(p(n),n.lookahead<=R&&c===G){s=S;break a}if(0===n.lookahead)break}if(n.match_length=0,n.lookahead>=M&&0<n.strstart&&(u=n.strstart-1,v=t[u],v===t[++u]&&v===t[++u]&&v===t[++u])){f=n.strstart+R;do;while(v===t[++u]&&v===t[++u]&&v===t[++u]&&v===t[++u]&&v===t[++u]&&v===t[++u]&&v===t[++u]&&v===t[++u]&&u<f);n.match_length=R-(f-u);n.match_length>n.lookahead&&(n.match_length=n.lookahead)}if(n.match_length>=
(k(n,!1),0===n.strm.avail_out)?S:Z)}else if(3===n.strategy)a:{var u,v;for(t=n.window;;){if(n.lookahead<=R){if(p(n),n.lookahead<=R&&c===G){s=S;break a}if(0===n.lookahead)break}if(n.match_length=0,n.lookahead>=M&&0<n.strstart&&(v=n.strstart-1,u=t[v],u===t[++v]&&u===t[++v]&&u===t[++v])){f=n.strstart+R;do;while(u===t[++v]&&u===t[++v]&&u===t[++v]&&u===t[++v]&&u===t[++v]&&u===t[++v]&&u===t[++v]&&u===t[++v]&&v<f);n.match_length=R-(f-v);n.match_length>n.lookahead&&(n.match_length=n.lookahead)}if(n.match_length>=
M?(s=F._tr_tally(n,1,n.match_length-M),n.lookahead-=n.match_length,n.strstart+=n.match_length,n.match_length=0):(s=F._tr_tally(n,0,n.window[n.strstart]),n.lookahead--,n.strstart++),s&&(k(n,!1),0===n.strm.avail_out)){s=S;break a}}s=(n.insert=0,c===H?(k(n,!0),0===n.strm.avail_out?ba:Y):n.last_lit&&(k(n,!1),0===n.strm.avail_out)?S:Z)}else s=x[n.level].func(n,c);if(s!==ba&&s!==Y||(n.status=666),s===S||s===ba)return 0===d.avail_out&&(n.last_flush=-1),I;if(s===Z&&(1===c?F._tr_align(n):5!==c&&(F._tr_stored_block(n,
0,0,!1),3===c&&(e(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),g(d),0===d.avail_out))return n.last_flush=-1,I}return c!==H?I:0>=n.wrap?1:(2===n.wrap?(l(n,255&d.adler),l(n,d.adler>>8&255),l(n,d.adler>>16&255),l(n,d.adler>>24&255),l(n,255&d.total_in),l(n,d.total_in>>8&255),l(n,d.total_in>>16&255),l(n,d.total_in>>24&255)):(m(n,d.adler>>>16),m(n,65535&d.adler)),g(d),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?I:1)};d.deflateEnd=function(d){var e;return d&&d.state?(e=d.state.status,
e!==da&&69!==e&&73!==e&&91!==e&&103!==e&&e!==ca&&666!==e?b(d,J):(d.state=null,e===ca?b(d,-3):I)):J};d.deflateSetDictionary=function(b,d){var c,f,g,k,l,m,n;f=d.length;if(!b||!b.state||(c=b.state,k=c.wrap,2===k||1===k&&c.status!==da||c.lookahead))return J;1===k&&(b.adler=C(b.adler,d,f,0));c.wrap=0;f>=c.w_size&&(0===k&&(e(c.head),c.strstart=0,c.block_start=0,c.insert=0),l=new y.Buf8(c.w_size),y.arraySet(l,d,f-c.w_size,c.w_size,0),d=l,f=c.w_size);l=b.avail_in;m=b.next_in;n=b.input;b.avail_in=f;b.next_in=
e!==da&&69!==e&&73!==e&&91!==e&&103!==e&&e!==ca&&666!==e?b(d,J):(d.state=null,e===ca?b(d,-3):I)):J};d.deflateSetDictionary=function(b,d){var c,f,g,k,l,m,n;f=d.length;if(!b||!b.state||(c=b.state,k=c.wrap,2===k||1===k&&c.status!==da||c.lookahead))return J;1===k&&(b.adler=B(b.adler,d,f,0));c.wrap=0;f>=c.w_size&&(0===k&&(e(c.head),c.strstart=0,c.block_start=0,c.insert=0),l=new y.Buf8(c.w_size),y.arraySet(l,d,f-c.w_size,c.w_size,0),d=l,f=c.w_size);l=b.avail_in;m=b.next_in;n=b.input;b.avail_in=f;b.next_in=
0;b.input=d;for(p(c);c.lookahead>=M;){f=c.strstart;g=c.lookahead-(M-1);do c.ins_h=(c.ins_h<<c.hash_shift^c.window[f+M-1])&c.hash_mask,c.prev[f&c.w_mask]=c.head[c.ins_h],c.head[c.ins_h]=f,f++;while(--g);c.strstart=f;c.lookahead=M-1;p(c)}return c.strstart+=c.lookahead,c.block_start=c.strstart,c.insert=c.lookahead,c.lookahead=0,c.match_length=c.prev_length=M-1,c.match_available=0,b.next_in=m,b.input=n,b.avail_in=l,c.wrap=k,I};d.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,
"./crc32":7,"./messages":13,"./trees":14}],9:[function(c,f,d){f.exports=function(){this.os=this.xflags=this.time=this.text=0;this.extra=null;this.extra_len=0;this.comment=this.name="";this.hcrc=0;this.done=!1}},{}],10:[function(c,f,d){f.exports=function(b,d){var c,f,l,m,n,p,r,s,q,t,v,u,z,x,y,F,C,A,E,G,H,I,J,K;c=b.state;f=b.next_in;J=b.input;l=f+(b.avail_in-5);m=b.next_out;K=b.output;n=m-(d-b.avail_out);p=m+(b.avail_out-257);r=c.dmax;s=c.wsize;q=c.whave;t=c.wnext;v=c.window;u=c.hold;z=c.bits;x=c.lencode;
y=c.distcode;F=(1<<c.lenbits)-1;C=(1<<c.distbits)-1;a:do{15>z&&(u+=J[f++]<<z,z+=8,u+=J[f++]<<z,z+=8);A=x[u&F];b:for(;;){if(E=A>>>24,u>>>=E,z-=E,E=A>>>16&255,0===E)K[m++]=65535&A;else{if(!(16&E)){if(0===(64&E)){A=x[(65535&A)+(u&(1<<E)-1)];continue b}if(32&E){c.mode=12;break a}b.msg="invalid literal/length code";c.mode=30;break a}G=65535&A;(E&=15)&&(z<E&&(u+=J[f++]<<z,z+=8),G+=u&(1<<E)-1,u>>>=E,z-=E);15>z&&(u+=J[f++]<<z,z+=8,u+=J[f++]<<z,z+=8);A=y[u&C];c:for(;;){if(E=A>>>24,u>>>=E,z-=E,E=A>>>16&255,
"./crc32":7,"./messages":13,"./trees":14}],9:[function(c,f,d){f.exports=function(){this.os=this.xflags=this.time=this.text=0;this.extra=null;this.extra_len=0;this.comment=this.name="";this.hcrc=0;this.done=!1}},{}],10:[function(c,f,d){f.exports=function(b,d){var c,f,l,m,n,p,r,s,q,t,v,u,z,x,y,F,B,A,E,G,H,I,J,K;c=b.state;f=b.next_in;J=b.input;l=f+(b.avail_in-5);m=b.next_out;K=b.output;n=m-(d-b.avail_out);p=m+(b.avail_out-257);r=c.dmax;s=c.wsize;q=c.whave;t=c.wnext;v=c.window;u=c.hold;z=c.bits;x=c.lencode;
y=c.distcode;F=(1<<c.lenbits)-1;B=(1<<c.distbits)-1;a:do{15>z&&(u+=J[f++]<<z,z+=8,u+=J[f++]<<z,z+=8);A=x[u&F];b:for(;;){if(E=A>>>24,u>>>=E,z-=E,E=A>>>16&255,0===E)K[m++]=65535&A;else{if(!(16&E)){if(0===(64&E)){A=x[(65535&A)+(u&(1<<E)-1)];continue b}if(32&E){c.mode=12;break a}b.msg="invalid literal/length code";c.mode=30;break a}G=65535&A;(E&=15)&&(z<E&&(u+=J[f++]<<z,z+=8),G+=u&(1<<E)-1,u>>>=E,z-=E);15>z&&(u+=J[f++]<<z,z+=8,u+=J[f++]<<z,z+=8);A=y[u&B];c:for(;;){if(E=A>>>24,u>>>=E,z-=E,E=A>>>16&255,
!(16&E)){if(0===(64&E)){A=y[(65535&A)+(u&(1<<E)-1)];continue c}b.msg="invalid distance code";c.mode=30;break a}if(H=65535&A,E&=15,z<E&&(u+=J[f++]<<z,z+=8,z<E&&(u+=J[f++]<<z,z+=8)),H+=u&(1<<E)-1,H>r){b.msg="invalid distance too far back";c.mode=30;break a}if(u>>>=E,z-=E,E=m-n,H>E){if(E=H-E,E>q&&c.sane){b.msg="invalid distance too far back";c.mode=30;break a}if(A=0,I=v,0===t){if(A+=s-E,E<G){G-=E;do K[m++]=v[A++];while(--E);A=m-H;I=K}}else if(t<E){if(A+=s+t-E,E-=t,E<G){G-=E;do K[m++]=v[A++];while(--E);
if(A=0,t<G){E=t;G-=E;do K[m++]=v[A++];while(--E);A=m-H;I=K}}}else if(A+=t-E,E<G){G-=E;do K[m++]=v[A++];while(--E);A=m-H;I=K}for(;2<G;)K[m++]=I[A++],K[m++]=I[A++],K[m++]=I[A++],G-=3;G&&(K[m++]=I[A++],1<G&&(K[m++]=I[A++]))}else{A=m-H;do K[m++]=K[A++],K[m++]=K[A++],K[m++]=K[A++],G-=3;while(2<G);G&&(K[m++]=K[A++],1<G&&(K[m++]=K[A++]))}break}}break}}while(f<l&&m<p);G=z>>3;f-=G;z-=G<<3;b.next_in=f;b.next_out=m;b.avail_in=f<l?5+(l-f):5-(f-l);b.avail_out=m<p?257+(p-m):257-(m-p);c.hold=u&(1<<z)-1;c.bits=z}},
{}],11:[function(c,f,d){function b(b){return(b>>>24&255)+(b>>>8&65280)+((65280&b)<<8)+((255&b)<<24)}function e(){this.mode=0;this.last=!1;this.wrap=0;this.havedict=!1;this.total=this.check=this.dmax=this.flags=0;this.head=null;this.wnext=this.whave=this.wsize=this.wbits=0;this.window=null;this.extra=this.offset=this.length=this.bits=this.hold=0;this.distcode=this.lencode=null;this.have=this.ndist=this.nlen=this.ncode=this.distbits=this.lenbits=0;this.next=null;this.lens=new s.Buf16(320);this.work=
new s.Buf16(288);this.distdyn=this.lendyn=null;this.was=this.back=this.sane=0}function g(b){var d;return b&&b.state?(d=b.state,b.total_in=b.total_out=d.total=0,b.msg="",d.wrap&&(b.adler=1&d.wrap),d.mode=y,d.last=0,d.havedict=0,d.dmax=32768,d.head=null,d.hold=0,d.bits=0,d.lencode=d.lendyn=new s.Buf32(F),d.distcode=d.distdyn=new s.Buf32(C),d.sane=1,d.back=-1,z):x}function k(b){var d;return b&&b.state?(d=b.state,d.wsize=0,d.whave=0,d.wnext=0,g(b)):x}function l(b,d){var e,c;return b&&b.state?(c=b.state,
new s.Buf16(288);this.distdyn=this.lendyn=null;this.was=this.back=this.sane=0}function g(b){var d;return b&&b.state?(d=b.state,b.total_in=b.total_out=d.total=0,b.msg="",d.wrap&&(b.adler=1&d.wrap),d.mode=y,d.last=0,d.havedict=0,d.dmax=32768,d.head=null,d.hold=0,d.bits=0,d.lencode=d.lendyn=new s.Buf32(F),d.distcode=d.distdyn=new s.Buf32(B),d.sane=1,d.back=-1,z):x}function k(b){var d;return b&&b.state?(d=b.state,d.wsize=0,d.whave=0,d.wnext=0,g(b)):x}function l(b,d){var e,c;return b&&b.state?(c=b.state,
0>d?(e=0,d=-d):(e=(d>>4)+1,48>d&&(d&=15)),d&&(8>d||15<d)?x:(null!==c.window&&c.wbits!==d&&(c.window=null),c.wrap=e,c.wbits=d,k(b))):x}function m(b,d){var c,f;return b?(f=new e,b.state=f,f.window=null,c=l(b,d),c!==z&&(b.state=null),c):x}function n(b,d,e,c){var f;b=b.state;return null===b.window&&(b.wsize=1<<b.wbits,b.wnext=0,b.whave=0,b.window=new s.Buf8(b.wsize)),c>=b.wsize?(s.arraySet(b.window,d,e-b.wsize,b.wsize,0),b.wnext=0,b.whave=b.wsize):(f=b.wsize-b.wnext,f>c&&(f=c),s.arraySet(b.window,d,e-
c,f,b.wnext),c-=f,c?(s.arraySet(b.window,d,e-c,c,0),b.wnext=c,b.whave=b.wsize):(b.wnext+=f,b.wnext===b.wsize&&(b.wnext=0),b.whave<b.wsize&&(b.whave+=f))),0}var p,r,s=c("../utils/common"),q=c("./adler32"),t=c("./crc32"),v=c("./inffast"),u=c("./inftrees"),z=0,x=-2,y=1,F=852,C=592,A=!0;d.inflateReset=k;d.inflateReset2=l;d.inflateResetKeep=g;d.inflateInit=function(b){return m(b,15)};d.inflateInit2=m;d.inflate=function(d,e){var c,f,g,k,l,m,C,B,D,F,P,N,V,L,M,R,X,da,ca,S,Z,ba,Y=0,T=new s.Buf8(4),ia=[16,
17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!d||!d.state||!d.output||!d.input&&0!==d.avail_in)return x;c=d.state;12===c.mode&&(c.mode=13);l=d.next_out;g=d.output;C=d.avail_out;k=d.next_in;f=d.input;m=d.avail_in;B=c.hold;D=c.bits;F=m;P=C;Z=z;a:for(;;)switch(c.mode){case y:if(0===c.wrap){c.mode=13;break}for(;16>D;){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}if(2&c.wrap&&35615===B){c.check=0;T[0]=255&B;T[1]=B>>>8&255;c.check=t(c.check,T,2,0);D=B=0;c.mode=2;break}if(c.flags=0,c.head&&(c.head.done=!1),
!(1&c.wrap)||(((255&B)<<8)+(B>>8))%31){d.msg="incorrect header check";c.mode=30;break}if(8!==(15&B)){d.msg="unknown compression method";c.mode=30;break}if(B>>>=4,D-=4,S=(15&B)+8,0===c.wbits)c.wbits=S;else if(S>c.wbits){d.msg="invalid window size";c.mode=30;break}c.dmax=1<<S;d.adler=c.check=1;c.mode=512&B?10:12;D=B=0;break;case 2:for(;16>D;){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}if(c.flags=B,8!==(255&c.flags)){d.msg="unknown compression method";c.mode=30;break}if(57344&c.flags){d.msg="unknown header flags set";
c.mode=30;break}c.head&&(c.head.text=B>>8&1);512&c.flags&&(T[0]=255&B,T[1]=B>>>8&255,c.check=t(c.check,T,2,0));D=B=0;c.mode=3;case 3:for(;32>D;){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}c.head&&(c.head.time=B);512&c.flags&&(T[0]=255&B,T[1]=B>>>8&255,T[2]=B>>>16&255,T[3]=B>>>24&255,c.check=t(c.check,T,4,0));D=B=0;c.mode=4;case 4:for(;16>D;){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}c.head&&(c.head.xflags=255&B,c.head.os=B>>8);512&c.flags&&(T[0]=255&B,T[1]=B>>>8&255,c.check=t(c.check,T,2,0));D=B=0;c.mode=
5;case 5:if(1024&c.flags){for(;16>D;){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}c.length=B;c.head&&(c.head.extra_len=B);512&c.flags&&(T[0]=255&B,T[1]=B>>>8&255,c.check=t(c.check,T,2,0));D=B=0}else c.head&&(c.head.extra=null);c.mode=6;case 6:if(1024&c.flags&&(N=c.length,N>m&&(N=m),N&&(c.head&&(S=c.head.extra_len-c.length,c.head.extra||(c.head.extra=Array(c.head.extra_len)),s.arraySet(c.head.extra,f,k,N,S)),512&c.flags&&(c.check=t(c.check,f,N,k)),m-=N,k+=N,c.length-=N),c.length))break a;c.length=0;c.mode=
c,f,b.wnext),c-=f,c?(s.arraySet(b.window,d,e-c,c,0),b.wnext=c,b.whave=b.wsize):(b.wnext+=f,b.wnext===b.wsize&&(b.wnext=0),b.whave<b.wsize&&(b.whave+=f))),0}var p,r,s=c("../utils/common"),q=c("./adler32"),t=c("./crc32"),v=c("./inffast"),u=c("./inftrees"),z=0,x=-2,y=1,F=852,B=592,A=!0;d.inflateReset=k;d.inflateReset2=l;d.inflateResetKeep=g;d.inflateInit=function(b){return m(b,15)};d.inflateInit2=m;d.inflate=function(d,e){var c,f,g,k,l,m,B,C,D,F,P,N,V,L,M,R,X,da,ca,S,Z,ba,Y=0,T=new s.Buf8(4),ia=[16,
17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!d||!d.state||!d.output||!d.input&&0!==d.avail_in)return x;c=d.state;12===c.mode&&(c.mode=13);l=d.next_out;g=d.output;B=d.avail_out;k=d.next_in;f=d.input;m=d.avail_in;C=c.hold;D=c.bits;F=m;P=B;Z=z;a:for(;;)switch(c.mode){case y:if(0===c.wrap){c.mode=13;break}for(;16>D;){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}if(2&c.wrap&&35615===C){c.check=0;T[0]=255&C;T[1]=C>>>8&255;c.check=t(c.check,T,2,0);D=C=0;c.mode=2;break}if(c.flags=0,c.head&&(c.head.done=!1),
!(1&c.wrap)||(((255&C)<<8)+(C>>8))%31){d.msg="incorrect header check";c.mode=30;break}if(8!==(15&C)){d.msg="unknown compression method";c.mode=30;break}if(C>>>=4,D-=4,S=(15&C)+8,0===c.wbits)c.wbits=S;else if(S>c.wbits){d.msg="invalid window size";c.mode=30;break}c.dmax=1<<S;d.adler=c.check=1;c.mode=512&C?10:12;D=C=0;break;case 2:for(;16>D;){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}if(c.flags=C,8!==(255&c.flags)){d.msg="unknown compression method";c.mode=30;break}if(57344&c.flags){d.msg="unknown header flags set";
c.mode=30;break}c.head&&(c.head.text=C>>8&1);512&c.flags&&(T[0]=255&C,T[1]=C>>>8&255,c.check=t(c.check,T,2,0));D=C=0;c.mode=3;case 3:for(;32>D;){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}c.head&&(c.head.time=C);512&c.flags&&(T[0]=255&C,T[1]=C>>>8&255,T[2]=C>>>16&255,T[3]=C>>>24&255,c.check=t(c.check,T,4,0));D=C=0;c.mode=4;case 4:for(;16>D;){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}c.head&&(c.head.xflags=255&C,c.head.os=C>>8);512&c.flags&&(T[0]=255&C,T[1]=C>>>8&255,c.check=t(c.check,T,2,0));D=C=0;c.mode=
5;case 5:if(1024&c.flags){for(;16>D;){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}c.length=C;c.head&&(c.head.extra_len=C);512&c.flags&&(T[0]=255&C,T[1]=C>>>8&255,c.check=t(c.check,T,2,0));D=C=0}else c.head&&(c.head.extra=null);c.mode=6;case 6:if(1024&c.flags&&(N=c.length,N>m&&(N=m),N&&(c.head&&(S=c.head.extra_len-c.length,c.head.extra||(c.head.extra=Array(c.head.extra_len)),s.arraySet(c.head.extra,f,k,N,S)),512&c.flags&&(c.check=t(c.check,f,N,k)),m-=N,k+=N,c.length-=N),c.length))break a;c.length=0;c.mode=
7;case 7:if(2048&c.flags){if(0===m)break a;N=0;do S=f[k+N++],c.head&&S&&65536>c.length&&(c.head.name+=String.fromCharCode(S));while(S&&N<m);if(512&c.flags&&(c.check=t(c.check,f,N,k)),m-=N,k+=N,S)break a}else c.head&&(c.head.name=null);c.length=0;c.mode=8;case 8:if(4096&c.flags){if(0===m)break a;N=0;do S=f[k+N++],c.head&&S&&65536>c.length&&(c.head.comment+=String.fromCharCode(S));while(S&&N<m);if(512&c.flags&&(c.check=t(c.check,f,N,k)),m-=N,k+=N,S)break a}else c.head&&(c.head.comment=null);c.mode=
9;case 9:if(512&c.flags){for(;16>D;){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}if(B!==(65535&c.check)){d.msg="header crc mismatch";c.mode=30;break}D=B=0}c.head&&(c.head.hcrc=c.flags>>9&1,c.head.done=!0);d.adler=c.check=0;c.mode=12;break;case 10:for(;32>D;){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}d.adler=c.check=b(B);D=B=0;c.mode=11;case 11:if(0===c.havedict)return d.next_out=l,d.avail_out=C,d.next_in=k,d.avail_in=m,c.hold=B,c.bits=D,2;d.adler=c.check=1;c.mode=12;case 12:if(5===e||6===e)break a;case 13:if(c.last){B>>>=
7&D;D-=7&D;c.mode=27;break}for(;3>D;){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}switch(c.last=1&B,B>>>=1,D-=1,3&B){case 0:c.mode=14;break;case 1:L=c;if(A){p=new s.Buf32(512);r=new s.Buf32(32);for(R=0;144>R;)L.lens[R++]=8;for(;256>R;)L.lens[R++]=9;for(;280>R;)L.lens[R++]=7;for(;288>R;)L.lens[R++]=8;u(1,L.lens,0,288,p,0,L.work,{bits:9});for(R=0;32>R;)L.lens[R++]=5;u(2,L.lens,0,32,r,0,L.work,{bits:5});A=!1}L.lencode=p;L.lenbits=9;L.distcode=r;L.distbits=5;if(c.mode=20,6===e){B>>>=2;D-=2;break a}break;case 2:c.mode=
17;break;case 3:d.msg="invalid block type",c.mode=30}B>>>=2;D-=2;break;case 14:B>>>=7&D;for(D-=7&D;32>D;){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}if((65535&B)!==(B>>>16^65535)){d.msg="invalid stored block lengths";c.mode=30;break}if(c.length=65535&B,B=0,D=0,c.mode=15,6===e)break a;case 15:c.mode=16;case 16:if(N=c.length){if(N>m&&(N=m),N>C&&(N=C),0===N)break a;s.arraySet(g,f,k,N,l);m-=N;k+=N;C-=N;l+=N;c.length-=N;break}c.mode=12;break;case 17:for(;14>D;){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}if(c.nlen=
(31&B)+257,B>>>=5,D-=5,c.ndist=(31&B)+1,B>>>=5,D-=5,c.ncode=(15&B)+4,B>>>=4,D-=4,286<c.nlen||30<c.ndist){d.msg="too many length or distance symbols";c.mode=30;break}c.have=0;c.mode=18;case 18:for(;c.have<c.ncode;){for(;3>D;){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}c.lens[ia[c.have++]]=7&B;B>>>=3;D-=3}for(;19>c.have;)c.lens[ia[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,ba={bits:c.lenbits},Z=u(0,c.lens,0,19,c.lencode,0,c.work,ba),c.lenbits=ba.bits,Z){d.msg="invalid code lengths set";c.mode=30;break}c.have=
0;c.mode=19;case 19:for(;c.have<c.nlen+c.ndist;){for(;Y=c.lencode[B&(1<<c.lenbits)-1],M=Y>>>24,R=65535&Y,!(M<=D);){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}if(16>R)B>>>=M,D-=M,c.lens[c.have++]=R;else{if(16===R){for(L=M+2;D<L;){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}if(B>>>=M,D-=M,0===c.have){d.msg="invalid bit length repeat";c.mode=30;break}S=c.lens[c.have-1];N=3+(3&B);B>>>=2;D-=2}else if(17===R){for(L=M+3;D<L;){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}B>>>=M;D-=M;S=0;N=3+(7&B);B>>>=3;D-=3}else{for(L=
M+7;D<L;){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}B>>>=M;D-=M;S=0;N=11+(127&B);B>>>=7;D-=7}if(c.have+N>c.nlen+c.ndist){d.msg="invalid bit length repeat";c.mode=30;break}for(;N--;)c.lens[c.have++]=S}}if(30===c.mode)break;if(0===c.lens[256]){d.msg="invalid code -- missing end-of-block";c.mode=30;break}if(c.lenbits=9,ba={bits:c.lenbits},Z=u(1,c.lens,0,c.nlen,c.lencode,0,c.work,ba),c.lenbits=ba.bits,Z){d.msg="invalid literal/lengths set";c.mode=30;break}if(c.distbits=6,c.distcode=c.distdyn,ba={bits:c.distbits},
Z=u(2,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,ba),c.distbits=ba.bits,Z){d.msg="invalid distances set";c.mode=30;break}if(c.mode=20,6===e)break a;case 20:c.mode=21;case 21:if(6<=m&&258<=C){d.next_out=l;d.avail_out=C;d.next_in=k;d.avail_in=m;c.hold=B;c.bits=D;v(d,P);l=d.next_out;g=d.output;C=d.avail_out;k=d.next_in;f=d.input;m=d.avail_in;B=c.hold;D=c.bits;12===c.mode&&(c.back=-1);break}for(c.back=0;Y=c.lencode[B&(1<<c.lenbits)-1],M=Y>>>24,L=Y>>>16&255,R=65535&Y,!(M<=D);){if(0===m)break a;m--;B+=f[k++]<<
D;D+=8}if(L&&0===(240&L)){X=M;da=L;for(ca=R;Y=c.lencode[ca+((B&(1<<X+da)-1)>>X)],M=Y>>>24,L=Y>>>16&255,R=65535&Y,!(X+M<=D);){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}B>>>=X;D-=X;c.back+=X}if(B>>>=M,D-=M,c.back+=M,c.length=R,0===L){c.mode=26;break}if(32&L){c.back=-1;c.mode=12;break}if(64&L){d.msg="invalid literal/length code";c.mode=30;break}c.extra=15&L;c.mode=22;case 22:if(c.extra){for(L=c.extra;D<L;){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}c.length+=B&(1<<c.extra)-1;B>>>=c.extra;D-=c.extra;c.back+=
c.extra}c.was=c.length;c.mode=23;case 23:for(;Y=c.distcode[B&(1<<c.distbits)-1],M=Y>>>24,L=Y>>>16&255,R=65535&Y,!(M<=D);){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}if(0===(240&L)){X=M;da=L;for(ca=R;Y=c.distcode[ca+((B&(1<<X+da)-1)>>X)],M=Y>>>24,L=Y>>>16&255,R=65535&Y,!(X+M<=D);){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}B>>>=X;D-=X;c.back+=X}if(B>>>=M,D-=M,c.back+=M,64&L){d.msg="invalid distance code";c.mode=30;break}c.offset=R;c.extra=15&L;c.mode=24;case 24:if(c.extra){for(L=c.extra;D<L;){if(0===m)break a;
m--;B+=f[k++]<<D;D+=8}c.offset+=B&(1<<c.extra)-1;B>>>=c.extra;D-=c.extra;c.back+=c.extra}if(c.offset>c.dmax){d.msg="invalid distance too far back";c.mode=30;break}c.mode=25;case 25:if(0===C)break a;if(N=P-C,c.offset>N){if(N=c.offset-N,N>c.whave&&c.sane){d.msg="invalid distance too far back";c.mode=30;break}N>c.wnext?(N-=c.wnext,V=c.wsize-N):V=c.wnext-N;N>c.length&&(N=c.length);L=c.window}else L=g,V=l-c.offset,N=c.length;N>C&&(N=C);C-=N;c.length-=N;do g[l++]=L[V++];while(--N);0===c.length&&(c.mode=
21);break;case 26:if(0===C)break a;g[l++]=c.length;C--;c.mode=21;break;case 27:if(c.wrap){for(;32>D;){if(0===m)break a;m--;B|=f[k++]<<D;D+=8}if(P-=C,d.total_out+=P,c.total+=P,P&&(d.adler=c.check=c.flags?t(c.check,g,P,l-P):q(c.check,g,P,l-P)),P=C,(c.flags?B:b(B))!==c.check){d.msg="incorrect data check";c.mode=30;break}D=B=0}c.mode=28;case 28:if(c.wrap&&c.flags){for(;32>D;){if(0===m)break a;m--;B+=f[k++]<<D;D+=8}if(B!==(4294967295&c.total)){d.msg="incorrect length check";c.mode=30;break}D=B=0}c.mode=
29;case 29:Z=1;break a;case 30:Z=-3;break a;case 31:return-4;default:return x}return d.next_out=l,d.avail_out=C,d.next_in=k,d.avail_in=m,c.hold=B,c.bits=D,(c.wsize||P!==d.avail_out&&30>c.mode&&(27>c.mode||4!==e))&&n(d,d.output,d.next_out,P-d.avail_out)?(c.mode=31,-4):(F-=d.avail_in,P-=d.avail_out,d.total_in+=F,d.total_out+=P,c.total+=P,c.wrap&&P&&(d.adler=c.check=c.flags?t(c.check,g,P,d.next_out-P):q(c.check,g,P,d.next_out-P)),d.data_type=c.bits+(c.last?64:0)+(12===c.mode?128:0)+(20===c.mode||15===
9;case 9:if(512&c.flags){for(;16>D;){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}if(C!==(65535&c.check)){d.msg="header crc mismatch";c.mode=30;break}D=C=0}c.head&&(c.head.hcrc=c.flags>>9&1,c.head.done=!0);d.adler=c.check=0;c.mode=12;break;case 10:for(;32>D;){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}d.adler=c.check=b(C);D=C=0;c.mode=11;case 11:if(0===c.havedict)return d.next_out=l,d.avail_out=B,d.next_in=k,d.avail_in=m,c.hold=C,c.bits=D,2;d.adler=c.check=1;c.mode=12;case 12:if(5===e||6===e)break a;case 13:if(c.last){C>>>=
7&D;D-=7&D;c.mode=27;break}for(;3>D;){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}switch(c.last=1&C,C>>>=1,D-=1,3&C){case 0:c.mode=14;break;case 1:L=c;if(A){p=new s.Buf32(512);r=new s.Buf32(32);for(R=0;144>R;)L.lens[R++]=8;for(;256>R;)L.lens[R++]=9;for(;280>R;)L.lens[R++]=7;for(;288>R;)L.lens[R++]=8;u(1,L.lens,0,288,p,0,L.work,{bits:9});for(R=0;32>R;)L.lens[R++]=5;u(2,L.lens,0,32,r,0,L.work,{bits:5});A=!1}L.lencode=p;L.lenbits=9;L.distcode=r;L.distbits=5;if(c.mode=20,6===e){C>>>=2;D-=2;break a}break;case 2:c.mode=
17;break;case 3:d.msg="invalid block type",c.mode=30}C>>>=2;D-=2;break;case 14:C>>>=7&D;for(D-=7&D;32>D;){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}if((65535&C)!==(C>>>16^65535)){d.msg="invalid stored block lengths";c.mode=30;break}if(c.length=65535&C,C=0,D=0,c.mode=15,6===e)break a;case 15:c.mode=16;case 16:if(N=c.length){if(N>m&&(N=m),N>B&&(N=B),0===N)break a;s.arraySet(g,f,k,N,l);m-=N;k+=N;B-=N;l+=N;c.length-=N;break}c.mode=12;break;case 17:for(;14>D;){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}if(c.nlen=
(31&C)+257,C>>>=5,D-=5,c.ndist=(31&C)+1,C>>>=5,D-=5,c.ncode=(15&C)+4,C>>>=4,D-=4,286<c.nlen||30<c.ndist){d.msg="too many length or distance symbols";c.mode=30;break}c.have=0;c.mode=18;case 18:for(;c.have<c.ncode;){for(;3>D;){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}c.lens[ia[c.have++]]=7&C;C>>>=3;D-=3}for(;19>c.have;)c.lens[ia[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,ba={bits:c.lenbits},Z=u(0,c.lens,0,19,c.lencode,0,c.work,ba),c.lenbits=ba.bits,Z){d.msg="invalid code lengths set";c.mode=30;break}c.have=
0;c.mode=19;case 19:for(;c.have<c.nlen+c.ndist;){for(;Y=c.lencode[C&(1<<c.lenbits)-1],M=Y>>>24,R=65535&Y,!(M<=D);){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}if(16>R)C>>>=M,D-=M,c.lens[c.have++]=R;else{if(16===R){for(L=M+2;D<L;){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}if(C>>>=M,D-=M,0===c.have){d.msg="invalid bit length repeat";c.mode=30;break}S=c.lens[c.have-1];N=3+(3&C);C>>>=2;D-=2}else if(17===R){for(L=M+3;D<L;){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}C>>>=M;D-=M;S=0;N=3+(7&C);C>>>=3;D-=3}else{for(L=
M+7;D<L;){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}C>>>=M;D-=M;S=0;N=11+(127&C);C>>>=7;D-=7}if(c.have+N>c.nlen+c.ndist){d.msg="invalid bit length repeat";c.mode=30;break}for(;N--;)c.lens[c.have++]=S}}if(30===c.mode)break;if(0===c.lens[256]){d.msg="invalid code -- missing end-of-block";c.mode=30;break}if(c.lenbits=9,ba={bits:c.lenbits},Z=u(1,c.lens,0,c.nlen,c.lencode,0,c.work,ba),c.lenbits=ba.bits,Z){d.msg="invalid literal/lengths set";c.mode=30;break}if(c.distbits=6,c.distcode=c.distdyn,ba={bits:c.distbits},
Z=u(2,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,ba),c.distbits=ba.bits,Z){d.msg="invalid distances set";c.mode=30;break}if(c.mode=20,6===e)break a;case 20:c.mode=21;case 21:if(6<=m&&258<=B){d.next_out=l;d.avail_out=B;d.next_in=k;d.avail_in=m;c.hold=C;c.bits=D;v(d,P);l=d.next_out;g=d.output;B=d.avail_out;k=d.next_in;f=d.input;m=d.avail_in;C=c.hold;D=c.bits;12===c.mode&&(c.back=-1);break}for(c.back=0;Y=c.lencode[C&(1<<c.lenbits)-1],M=Y>>>24,L=Y>>>16&255,R=65535&Y,!(M<=D);){if(0===m)break a;m--;C+=f[k++]<<
D;D+=8}if(L&&0===(240&L)){X=M;da=L;for(ca=R;Y=c.lencode[ca+((C&(1<<X+da)-1)>>X)],M=Y>>>24,L=Y>>>16&255,R=65535&Y,!(X+M<=D);){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}C>>>=X;D-=X;c.back+=X}if(C>>>=M,D-=M,c.back+=M,c.length=R,0===L){c.mode=26;break}if(32&L){c.back=-1;c.mode=12;break}if(64&L){d.msg="invalid literal/length code";c.mode=30;break}c.extra=15&L;c.mode=22;case 22:if(c.extra){for(L=c.extra;D<L;){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}c.length+=C&(1<<c.extra)-1;C>>>=c.extra;D-=c.extra;c.back+=
c.extra}c.was=c.length;c.mode=23;case 23:for(;Y=c.distcode[C&(1<<c.distbits)-1],M=Y>>>24,L=Y>>>16&255,R=65535&Y,!(M<=D);){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}if(0===(240&L)){X=M;da=L;for(ca=R;Y=c.distcode[ca+((C&(1<<X+da)-1)>>X)],M=Y>>>24,L=Y>>>16&255,R=65535&Y,!(X+M<=D);){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}C>>>=X;D-=X;c.back+=X}if(C>>>=M,D-=M,c.back+=M,64&L){d.msg="invalid distance code";c.mode=30;break}c.offset=R;c.extra=15&L;c.mode=24;case 24:if(c.extra){for(L=c.extra;D<L;){if(0===m)break a;
m--;C+=f[k++]<<D;D+=8}c.offset+=C&(1<<c.extra)-1;C>>>=c.extra;D-=c.extra;c.back+=c.extra}if(c.offset>c.dmax){d.msg="invalid distance too far back";c.mode=30;break}c.mode=25;case 25:if(0===B)break a;if(N=P-B,c.offset>N){if(N=c.offset-N,N>c.whave&&c.sane){d.msg="invalid distance too far back";c.mode=30;break}N>c.wnext?(N-=c.wnext,V=c.wsize-N):V=c.wnext-N;N>c.length&&(N=c.length);L=c.window}else L=g,V=l-c.offset,N=c.length;N>B&&(N=B);B-=N;c.length-=N;do g[l++]=L[V++];while(--N);0===c.length&&(c.mode=
21);break;case 26:if(0===B)break a;g[l++]=c.length;B--;c.mode=21;break;case 27:if(c.wrap){for(;32>D;){if(0===m)break a;m--;C|=f[k++]<<D;D+=8}if(P-=B,d.total_out+=P,c.total+=P,P&&(d.adler=c.check=c.flags?t(c.check,g,P,l-P):q(c.check,g,P,l-P)),P=B,(c.flags?C:b(C))!==c.check){d.msg="incorrect data check";c.mode=30;break}D=C=0}c.mode=28;case 28:if(c.wrap&&c.flags){for(;32>D;){if(0===m)break a;m--;C+=f[k++]<<D;D+=8}if(C!==(4294967295&c.total)){d.msg="incorrect length check";c.mode=30;break}D=C=0}c.mode=
29;case 29:Z=1;break a;case 30:Z=-3;break a;case 31:return-4;default:return x}return d.next_out=l,d.avail_out=B,d.next_in=k,d.avail_in=m,c.hold=C,c.bits=D,(c.wsize||P!==d.avail_out&&30>c.mode&&(27>c.mode||4!==e))&&n(d,d.output,d.next_out,P-d.avail_out)?(c.mode=31,-4):(F-=d.avail_in,P-=d.avail_out,d.total_in+=F,d.total_out+=P,c.total+=P,c.wrap&&P&&(d.adler=c.check=c.flags?t(c.check,g,P,d.next_out-P):q(c.check,g,P,d.next_out-P)),d.data_type=c.bits+(c.last?64:0)+(12===c.mode?128:0)+(20===c.mode||15===
c.mode?256:0),(0===F&&0===P||4===e)&&Z===z&&(Z=-5),Z)};d.inflateEnd=function(b){if(!b||!b.state)return x;var d=b.state;return d.window&&(d.window=null),b.state=null,z};d.inflateGetHeader=function(b,d){var e;return b&&b.state?(e=b.state,0===(2&e.wrap)?x:(e.head=d,d.done=!1,z)):x};d.inflateSetDictionary=function(b,d){var e,c,f=d.length;return b&&b.state?(e=b.state,0!==e.wrap&&11!==e.mode?x:11===e.mode&&(c=1,c=q(c,d,f,0),c!==e.check)?-3:n(b,d,f,f)?(e.mode=31,-4):(e.havedict=1,z)):x};d.inflateInfo="pako inflate (from Nodeca project)"},
{"../utils/common":3,"./adler32":5,"./crc32":7,"./inffast":10,"./inftrees":12}],12:[function(c,f,d){var b=c("../utils/common"),e=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],g=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],k=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],l=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,
25,25,26,26,27,27,28,28,29,29,64,64];f.exports=function(d,c,f,r,s,q,t,v){var u,z,x,y,F,C,A,E;y=v.bits;for(var G=0,H=0,I=0,J=0,K=0,O=0,U=0,W=0,B=0,D=null,Q=0,P=new b.Buf16(16),O=new b.Buf16(16),N=null,V=0,G=0;15>=G;G++)P[G]=0;for(H=0;H<r;H++)P[c[f+H]]++;K=y;for(J=15;1<=J&&0===P[J];J--);if(K>J&&(K=J),0===J)return s[q++]=20971520,s[q++]=20971520,v.bits=1,0;for(I=1;I<J&&0===P[I];I++);K<I&&(K=I);for(G=u=1;15>=G;G++)if(u<<=1,u-=P[G],0>u)return-1;if(0<u&&(0===d||1!==J))return-1;O[1]=0;for(G=1;15>G;G++)O[G+
1]=O[G]+P[G];for(H=0;H<r;H++)0!==c[f+H]&&(t[O[c[f+H]]++]=H);if(0===d?(D=N=t,F=19):1===d?(D=e,Q-=257,N=g,V-=257,F=256):(D=k,N=l,F=-1),B=0,H=0,G=I,y=q,O=K,U=0,x=-1,W=1<<K,r=W-1,1===d&&852<W||2===d&&592<W)return 1;for(var L=0;;){L++;C=G-U;t[H]<F?(A=0,E=t[H]):t[H]>F?(A=N[V+t[H]],E=D[Q+t[H]]):(A=96,E=0);u=1<<G-U;I=z=1<<O;do z-=u,s[y+(B>>U)+z]=C<<24|A<<16|E|0;while(0!==z);for(u=1<<G-1;B&u;)u>>=1;if(0!==u?(B&=u-1,B+=u):B=0,H++,0===--P[G]){if(G===J)break;G=c[f+t[H]]}if(G>K&&(B&r)!==x){0===U&&(U=K);y+=I;O=
G-U;for(u=1<<O;O+U<J&&(u-=P[O+U],!(0>=u));)O++,u<<=1;if(W+=1<<O,1===d&&852<W||2===d&&592<W)return 1;x=B&r;s[x]=K<<24|O<<16|y-q|0}}return 0!==B&&(s[y+B]=G-U<<24|4194304),v.bits=K,0}},{"../utils/common":3}],13:[function(c,f,d){f.exports={2:"need dictionary",1:"stream end","0":"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(c,f,d){function b(b){for(var d=b.length;0<=--d;)b[d]=0}function e(b,d,e,c,
25,25,26,26,27,27,28,28,29,29,64,64];f.exports=function(d,c,f,r,s,q,t,v){var u,z,x,y,F,B,A,E;y=v.bits;for(var G=0,H=0,I=0,J=0,K=0,O=0,U=0,W=0,C=0,D=null,Q=0,P=new b.Buf16(16),O=new b.Buf16(16),N=null,V=0,G=0;15>=G;G++)P[G]=0;for(H=0;H<r;H++)P[c[f+H]]++;K=y;for(J=15;1<=J&&0===P[J];J--);if(K>J&&(K=J),0===J)return s[q++]=20971520,s[q++]=20971520,v.bits=1,0;for(I=1;I<J&&0===P[I];I++);K<I&&(K=I);for(G=u=1;15>=G;G++)if(u<<=1,u-=P[G],0>u)return-1;if(0<u&&(0===d||1!==J))return-1;O[1]=0;for(G=1;15>G;G++)O[G+
1]=O[G]+P[G];for(H=0;H<r;H++)0!==c[f+H]&&(t[O[c[f+H]]++]=H);if(0===d?(D=N=t,F=19):1===d?(D=e,Q-=257,N=g,V-=257,F=256):(D=k,N=l,F=-1),C=0,H=0,G=I,y=q,O=K,U=0,x=-1,W=1<<K,r=W-1,1===d&&852<W||2===d&&592<W)return 1;for(var L=0;;){L++;B=G-U;t[H]<F?(A=0,E=t[H]):t[H]>F?(A=N[V+t[H]],E=D[Q+t[H]]):(A=96,E=0);u=1<<G-U;I=z=1<<O;do z-=u,s[y+(C>>U)+z]=B<<24|A<<16|E|0;while(0!==z);for(u=1<<G-1;C&u;)u>>=1;if(0!==u?(C&=u-1,C+=u):C=0,H++,0===--P[G]){if(G===J)break;G=c[f+t[H]]}if(G>K&&(C&r)!==x){0===U&&(U=K);y+=I;O=
G-U;for(u=1<<O;O+U<J&&(u-=P[O+U],!(0>=u));)O++,u<<=1;if(W+=1<<O,1===d&&852<W||2===d&&592<W)return 1;x=C&r;s[x]=K<<24|O<<16|y-q|0}}return 0!==C&&(s[y+C]=G-U<<24|4194304),v.bits=K,0}},{"../utils/common":3}],13:[function(c,f,d){f.exports={2:"need dictionary",1:"stream end","0":"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(c,f,d){function b(b){for(var d=b.length;0<=--d;)b[d]=0}function e(b,d,e,c,
f){this.static_tree=b;this.extra_bits=d;this.extra_base=e;this.elems=c;this.max_length=f;this.has_stree=b&&b.length}function g(b,d){this.dyn_tree=b;this.max_code=0;this.stat_desc=d}function k(b,d){b.pending_buf[b.pending++]=255&d;b.pending_buf[b.pending++]=d>>>8&255}function l(b,d,e){b.bi_valid>W-e?(b.bi_buf|=d<<b.bi_valid&65535,k(b,b.bi_buf),b.bi_buf=d>>W-b.bi_valid,b.bi_valid+=e-W):(b.bi_buf|=d<<b.bi_valid&65535,b.bi_valid+=e)}function m(b,d,e){l(b,e[2*d],e[2*d+1])}function n(b,d){var e=0;do e|=
1&b,b>>>=1,e<<=1;while(0<--d);return e>>>1}function p(b,d,e){var c,f=Array(U+1),g=0;for(c=1;c<=U;c++)f[c]=g=g+e[c-1]<<1;for(e=0;e<=d;e++)c=b[2*e+1],0!==c&&(b[2*e]=n(f[c]++,c))}function r(b){var d;for(d=0;d<I;d++)b.dyn_ltree[2*d]=0;for(d=0;d<J;d++)b.dyn_dtree[2*d]=0;for(d=0;d<K;d++)b.bl_tree[2*d]=0;b.dyn_ltree[2*B]=1;b.opt_len=b.static_len=0;b.last_lit=b.matches=0}function s(b){8<b.bi_valid?k(b,b.bi_buf):0<b.bi_valid&&(b.pending_buf[b.pending++]=b.bi_buf);b.bi_buf=0;b.bi_valid=0}function q(b,d,e,c){var f=
1&b,b>>>=1,e<<=1;while(0<--d);return e>>>1}function p(b,d,e){var c,f=Array(U+1),g=0;for(c=1;c<=U;c++)f[c]=g=g+e[c-1]<<1;for(e=0;e<=d;e++)c=b[2*e+1],0!==c&&(b[2*e]=n(f[c]++,c))}function r(b){var d;for(d=0;d<I;d++)b.dyn_ltree[2*d]=0;for(d=0;d<J;d++)b.dyn_dtree[2*d]=0;for(d=0;d<K;d++)b.bl_tree[2*d]=0;b.dyn_ltree[2*C]=1;b.opt_len=b.static_len=0;b.last_lit=b.matches=0}function s(b){8<b.bi_valid?k(b,b.bi_buf):0<b.bi_valid&&(b.pending_buf[b.pending++]=b.bi_buf);b.bi_buf=0;b.bi_valid=0}function q(b,d,e,c){var f=
2*d,g=2*e;return b[f]<b[g]||b[f]===b[g]&&c[d]<=c[e]}function t(b,d,e){for(var c=b.heap[e],f=e<<1;f<=b.heap_len&&(f<b.heap_len&&q(d,b.heap[f+1],b.heap[f],b.depth)&&f++,!q(d,c,b.heap[f],b.depth));)b.heap[e]=b.heap[f],e=f,f<<=1;b.heap[e]=c}function v(b,d,e){var c,f,g,k,n=0;if(0!==b.last_lit){do c=b.pending_buf[b.d_buf+2*n]<<8|b.pending_buf[b.d_buf+2*n+1],f=b.pending_buf[b.l_buf+n],n++,0===c?m(b,f,d):(g=ca[f],m(b,g+H+1,d),k=N[g],0!==k&&(f-=S[g],l(b,f,k)),c--,g=256>c?da[c]:da[256+(c>>>7)],m(b,g,e),k=V[g],
0!==k&&(c-=Z[g],l(b,c,k)));while(n<b.last_lit)}m(b,B,d)}function u(b,d){var e,c,f,g=d.dyn_tree;c=d.stat_desc.static_tree;var k=d.stat_desc.has_stree,l=d.stat_desc.elems,m=-1;b.heap_len=0;b.heap_max=O;for(e=0;e<l;e++)0!==g[2*e]?(b.heap[++b.heap_len]=m=e,b.depth[e]=0):g[2*e+1]=0;for(;2>b.heap_len;)f=b.heap[++b.heap_len]=2>m?++m:0,g[2*f]=1,b.depth[f]=0,b.opt_len--,k&&(b.static_len-=c[2*f+1]);d.max_code=m;for(e=b.heap_len>>1;1<=e;e--)t(b,g,e);f=l;do e=b.heap[1],b.heap[1]=b.heap[b.heap_len--],t(b,g,1),
0!==k&&(c-=Z[g],l(b,c,k)));while(n<b.last_lit)}m(b,C,d)}function u(b,d){var e,c,f,g=d.dyn_tree;c=d.stat_desc.static_tree;var k=d.stat_desc.has_stree,l=d.stat_desc.elems,m=-1;b.heap_len=0;b.heap_max=O;for(e=0;e<l;e++)0!==g[2*e]?(b.heap[++b.heap_len]=m=e,b.depth[e]=0):g[2*e+1]=0;for(;2>b.heap_len;)f=b.heap[++b.heap_len]=2>m?++m:0,g[2*f]=1,b.depth[f]=0,b.opt_len--,k&&(b.static_len-=c[2*f+1]);d.max_code=m;for(e=b.heap_len>>1;1<=e;e--)t(b,g,e);f=l;do e=b.heap[1],b.heap[1]=b.heap[b.heap_len--],t(b,g,1),
c=b.heap[1],b.heap[--b.heap_max]=e,b.heap[--b.heap_max]=c,g[2*f]=g[2*e]+g[2*c],b.depth[f]=(b.depth[e]>=b.depth[c]?b.depth[e]:b.depth[c])+1,g[2*e+1]=g[2*c+1]=f,b.heap[1]=f++,t(b,g,1);while(2<=b.heap_len);b.heap[--b.heap_max]=b.heap[1];var n,q,k=d.dyn_tree,l=d.max_code,r=d.stat_desc.static_tree,s=d.stat_desc.has_stree,u=d.stat_desc.extra_bits,v=d.stat_desc.extra_base,z=d.stat_desc.max_length,y=0;for(c=0;c<=U;c++)b.bl_count[c]=0;k[2*b.heap[b.heap_max]+1]=0;for(e=b.heap_max+1;e<O;e++)f=b.heap[e],c=k[2*
k[2*f+1]+1]+1,c>z&&(c=z,y++),k[2*f+1]=c,f>l||(b.bl_count[c]++,n=0,f>=v&&(n=u[f-v]),q=k[2*f],b.opt_len+=q*(c+n),s&&(b.static_len+=q*(r[2*f+1]+n)));if(0!==y){do{for(c=z-1;0===b.bl_count[c];)c--;b.bl_count[c]--;b.bl_count[c+1]+=2;b.bl_count[z]--;y-=2}while(0<y);for(c=z;0!==c;c--)for(f=b.bl_count[c];0!==f;)n=b.heap[--e],n>l||(k[2*n+1]!==c&&(b.opt_len+=(c-k[2*n+1])*k[2*n],k[2*n+1]=c),f--)}p(g,m,b.bl_count)}function z(b,d,e){var c,f,g=-1,k=d[1],l=0,m=7,n=4;0===k&&(m=138,n=3);d[2*(e+1)+1]=65535;for(c=0;c<=
e;c++)f=k,k=d[2*(c+1)+1],++l<m&&f===k||(l<n?b.bl_tree[2*f]+=l:0!==f?(f!==g&&b.bl_tree[2*f]++,b.bl_tree[2*D]++):10>=l?b.bl_tree[2*Q]++:b.bl_tree[2*P]++,l=0,g=f,0===k?(m=138,n=3):f===k?(m=6,n=3):(m=7,n=4))}function x(b,d,e){var c,f,g=-1,k=d[1],n=0,q=7,r=4;0===k&&(q=138,r=3);for(c=0;c<=e;c++)if(f=k,k=d[2*(c+1)+1],!(++n<q&&f===k)){if(n<r){do m(b,f,b.bl_tree);while(0!==--n)}else 0!==f?(f!==g&&(m(b,f,b.bl_tree),n--),m(b,D,b.bl_tree),l(b,n-3,2)):10>=n?(m(b,Q,b.bl_tree),l(b,n-3,3)):(m(b,P,b.bl_tree),l(b,
n-11,7));n=0;g=f;0===k?(q=138,r=3):f===k?(q=6,r=3):(q=7,r=4)}}function y(b){var d,e=4093624447;for(d=0;31>=d;d++,e>>>=1)if(1&e&&0!==b.dyn_ltree[2*d])return A;if(0!==b.dyn_ltree[18]||0!==b.dyn_ltree[20]||0!==b.dyn_ltree[26])return E;for(d=32;d<H;d++)if(0!==b.dyn_ltree[2*d])return E;return A}function F(b,d,e,c){l(b,(G<<1)+(c?1:0),3);s(b);k(b,e);k(b,~e);C.arraySet(b.pending_buf,b.window,d,e,b.pending);b.pending+=e}var C=c("../utils/common"),A=0,E=1,G=0,H=256,I=H+1+29,J=30,K=19,O=2*I+1,U=15,W=16,B=256,
n-11,7));n=0;g=f;0===k?(q=138,r=3):f===k?(q=6,r=3):(q=7,r=4)}}function y(b){var d,e=4093624447;for(d=0;31>=d;d++,e>>>=1)if(1&e&&0!==b.dyn_ltree[2*d])return A;if(0!==b.dyn_ltree[18]||0!==b.dyn_ltree[20]||0!==b.dyn_ltree[26])return E;for(d=32;d<H;d++)if(0!==b.dyn_ltree[2*d])return E;return A}function F(b,d,e,c){l(b,(G<<1)+(c?1:0),3);s(b);k(b,e);k(b,~e);B.arraySet(b.pending_buf,b.window,d,e,b.pending);b.pending+=e}var B=c("../utils/common"),A=0,E=1,G=0,H=256,I=H+1+29,J=30,K=19,O=2*I+1,U=15,W=16,C=256,
D=16,Q=17,P=18,N=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],V=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],L=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],M=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],R=Array(2*(I+2));b(R);var X=Array(2*J);b(X);var da=Array(512);b(da);var ca=Array(256);b(ca);var S=Array(29);b(S);var Z=Array(J);b(Z);var ba,Y,T,ia=!1;d._tr_init=function(b){if(!ia){var d,c,f,k=Array(U+1);for(f=c=0;28>f;f++){S[f]=c;for(d=0;d<1<<N[f];d++)ca[c++]=
f}ca[c-1]=f;for(f=c=0;16>f;f++){Z[f]=c;for(d=0;d<1<<V[f];d++)da[c++]=f}for(c>>=7;f<J;f++){Z[f]=c<<7;for(d=0;d<1<<V[f]-7;d++)da[256+c++]=f}for(d=0;d<=U;d++)k[d]=0;for(d=0;143>=d;)R[2*d+1]=8,d++,k[8]++;for(;255>=d;)R[2*d+1]=9,d++,k[9]++;for(;279>=d;)R[2*d+1]=7,d++,k[7]++;for(;287>=d;)R[2*d+1]=8,d++,k[8]++;p(R,I+1,k);for(d=0;d<J;d++)X[2*d+1]=5,X[2*d]=n(d,5);ba=new e(R,N,H+1,I,U);Y=new e(X,V,0,J,U);T=new e([],L,0,K,7);ia=!0}b.l_desc=new g(b.dyn_ltree,ba);b.d_desc=new g(b.dyn_dtree,Y);b.bl_desc=new g(b.bl_tree,
T);b.bi_buf=0;b.bi_valid=0;r(b)};d._tr_stored_block=F;d._tr_flush_block=function(b,d,e,c){var f,g,k=0;if(0<b.level){2===b.strm.data_type&&(b.strm.data_type=y(b));u(b,b.l_desc);u(b,b.d_desc);z(b,b.dyn_ltree,b.l_desc.max_code);z(b,b.dyn_dtree,b.d_desc.max_code);u(b,b.bl_desc);for(k=K-1;3<=k&&0===b.bl_tree[2*M[k]+1];k--);k=(b.opt_len+=3*(k+1)+14,k);f=b.opt_len+3+7>>>3;g=b.static_len+3+7>>>3;g<=f&&(f=g)}else f=g=e+5;if(e+4<=f&&-1!==d)F(b,d,e,c);else if(4===b.strategy||g===f)l(b,2+(c?1:0),3),v(b,R,X);
else{l(b,4+(c?1:0),3);d=b.l_desc.max_code+1;e=b.d_desc.max_code+1;k+=1;l(b,d-257,5);l(b,e-1,5);l(b,k-4,4);for(f=0;f<k;f++)l(b,b.bl_tree[2*M[f]+1],3);x(b,b.dyn_ltree,d-1);x(b,b.dyn_dtree,e-1);v(b,b.dyn_ltree,b.dyn_dtree)}r(b);c&&s(b)};d._tr_tally=function(b,d,e){return b.pending_buf[b.d_buf+2*b.last_lit]=d>>>8&255,b.pending_buf[b.d_buf+2*b.last_lit+1]=255&d,b.pending_buf[b.l_buf+b.last_lit]=255&e,b.last_lit++,0===d?b.dyn_ltree[2*e]++:(b.matches++,d--,b.dyn_ltree[2*(ca[e]+H+1)]++,b.dyn_dtree[2*(256>
d?da[d]:da[256+(d>>>7)])]++),b.last_lit===b.lit_bufsize-1};d._tr_align=function(b){l(b,2,3);m(b,B,R);16===b.bi_valid?(k(b,b.bi_buf),b.bi_buf=0,b.bi_valid=0):8<=b.bi_valid&&(b.pending_buf[b.pending++]=255&b.bi_buf,b.bi_buf>>=8,b.bi_valid-=8)}},{"../utils/common":3}],15:[function(c,f,d){f.exports=function(){this.input=null;this.total_in=this.avail_in=this.next_in=0;this.output=null;this.total_out=this.avail_out=this.next_out=0;this.msg="";this.state=null;this.data_type=2;this.adler=0}},{}],"/":[function(c,
d?da[d]:da[256+(d>>>7)])]++),b.last_lit===b.lit_bufsize-1};d._tr_align=function(b){l(b,2,3);m(b,C,R);16===b.bi_valid?(k(b,b.bi_buf),b.bi_buf=0,b.bi_valid=0):8<=b.bi_valid&&(b.pending_buf[b.pending++]=255&b.bi_buf,b.bi_buf>>=8,b.bi_valid-=8)}},{"../utils/common":3}],15:[function(c,f,d){f.exports=function(){this.input=null;this.total_in=this.avail_in=this.next_in=0;this.output=null;this.total_out=this.avail_out=this.next_out=0;this.msg="";this.state=null;this.data_type=2;this.adler=0}},{}],"/":[function(c,
f,d){d=c("./lib/utils/common").assign;var b=c("./lib/deflate"),e=c("./lib/inflate");c=c("./lib/zlib/constants");var g={};d(g,b,e,c);f.exports=g},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")});
var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x3d",encode:function(a,c){var f="",d,b,e,g,k,l,m=0;for(null!=c&&c||(a=Base64._utf8_encode(a));m<a.length;)d=a.charCodeAt(m++),b=a.charCodeAt(m++),e=a.charCodeAt(m++),g=d>>2,d=(d&3)<<4|b>>4,k=(b&15)<<2|e>>6,l=e&63,isNaN(b)?k=l=64:isNaN(e)&&(l=64),f=f+this._keyStr.charAt(g)+this._keyStr.charAt(d)+this._keyStr.charAt(k)+this._keyStr.charAt(l);return f},decode:function(a,c){c=null!=c?c:!1;var f="",d,b,e,g,k,l=0;for(a=
a.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<a.length;)d=this._keyStr.indexOf(a.charAt(l++)),b=this._keyStr.indexOf(a.charAt(l++)),g=this._keyStr.indexOf(a.charAt(l++)),k=this._keyStr.indexOf(a.charAt(l++)),d=d<<2|b>>4,b=(b&15)<<4|g>>2,e=(g&3)<<6|k,f+=String.fromCharCode(d),64!=g&&(f+=String.fromCharCode(b)),64!=k&&(f+=String.fromCharCode(e));c||(f=Base64._utf8_decode(f));return f},_utf8_encode:function(a){a=a.replace(/\r\n/g,"\n");for(var c="",f=0;f<a.length;f++){var d=a.charCodeAt(f);128>d?c+=String.fromCharCode(d):
@ -585,7 +585,7 @@ function mxGuide(a,c){this.graph=a;this.setStates(c)}mxGuide.prototype.graph=nul
mxGuide.prototype.createGuideShape=function(a){a=new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH);a.isDashed=!0;return a};
mxGuide.prototype.move=function(a,c,f){if(null!=this.states&&(this.horizontal||this.vertical)&&null!=a&&null!=c){var d=this.graph.getView().translate,b=this.graph.getView().scale,e=c.x,g=c.y,k=!1,l=null,m=null,n=!1,p=null,r=null,s=this.getGuideTolerance(),q=s,t=s,s=a.clone();s.x+=c.x;s.y+=c.y;var v=s.x,u=s.x+s.width,z=s.getCenterX(),x=s.y,y=s.y+s.height,F=s.getCenterY();c=function(b,d){b+=this.graph.panDx;var c=!1;Math.abs(b-z)<q?(e=b-a.getCenterX(),q=Math.abs(b-z),c=!0):Math.abs(b-v)<q?(e=b-a.x,
q=Math.abs(b-v),c=!0):Math.abs(b-u)<q&&(e=b-a.x-a.width,q=Math.abs(b-u),c=!0);c&&(l=d,m=Math.round(b-this.graph.panDx),null==this.guideX&&(this.guideX=this.createGuideShape(!0),this.guideX.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.guideX.pointerEvents=!1,this.guideX.init(this.graph.getView().getOverlayPane())));k=k||c};for(var s=function(b){b+=this.graph.panDy;var d=!1;Math.abs(b-F)<t?(g=b-a.getCenterY(),t=Math.abs(b-F),d=!0):Math.abs(b-
x)<t?(g=b-a.y,t=Math.abs(b-x),d=!0):Math.abs(b-y)<t&&(g=b-a.y-a.height,t=Math.abs(b-y),d=!0);d&&(p=A,r=Math.round(b-this.graph.panDy),null==this.guideY&&(this.guideY=this.createGuideShape(!1),this.guideY.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.guideY.pointerEvents=!1,this.guideY.init(this.graph.getView().getOverlayPane())));n=n||d},C=0;C<this.states.length;C++){var A=this.states[C];null!=A&&(this.horizontal&&(c.call(this,A.getCenterX(),
x)<t?(g=b-a.y,t=Math.abs(b-x),d=!0):Math.abs(b-y)<t&&(g=b-a.y-a.height,t=Math.abs(b-y),d=!0);d&&(p=A,r=Math.round(b-this.graph.panDy),null==this.guideY&&(this.guideY=this.createGuideShape(!1),this.guideY.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.guideY.pointerEvents=!1,this.guideY.init(this.graph.getView().getOverlayPane())));n=n||d},B=0;B<this.states.length;B++){var A=this.states[B];null!=A&&(this.horizontal&&(c.call(this,A.getCenterX(),
A),c.call(this,A.x,A),c.call(this,A.x+A.width,A)),this.vertical&&(s.call(this,A.getCenterY(),A),s.call(this,A.y,A),s.call(this,A.y+A.height,A)))}f&&(k||(f=a.x-(this.graph.snap(a.x/b-d.x)+d.x)*b,e=this.graph.snap(e/b)*b-f),n||(d=a.y-(this.graph.snap(a.y/b-d.y)+d.y)*b,g=this.graph.snap(g/b)*b-d));b=this.graph.container;!k&&null!=this.guideX?this.guideX.node.style.visibility="hidden":null!=this.guideX&&(null!=l&&null!=a&&(minY=Math.min(a.y+g-this.graph.panDy,l.y),maxY=Math.max(a.y+a.height+g-this.graph.panDy,
l.y+l.height)),this.guideX.points=null!=minY&&null!=maxY?[new mxPoint(m,minY),new mxPoint(m,maxY)]:[new mxPoint(m,-this.graph.panDy),new mxPoint(m,b.scrollHeight-3-this.graph.panDy)],this.guideX.stroke=this.getGuideColor(l,!0),this.guideX.node.style.visibility="visible",this.guideX.redraw());!n&&null!=this.guideY?this.guideY.node.style.visibility="hidden":null!=this.guideY&&(null!=p&&null!=a&&(minX=Math.min(a.x+e-this.graph.panDx,p.x),maxX=Math.max(a.x+a.width+e-this.graph.panDx,p.x+p.width)),this.guideY.points=
null!=minX&&null!=maxX?[new mxPoint(minX,r),new mxPoint(maxX,r)]:[new mxPoint(-this.graph.panDx,r),new mxPoint(b.scrollWidth-3-this.graph.panDx,r)],this.guideY.stroke=this.getGuideColor(p,!1),this.guideY.node.style.visibility="visible",this.guideY.redraw());c=new mxPoint(e,g)}return c};mxGuide.prototype.getGuideColor=function(a,c){return mxConstants.GUIDE_COLOR};mxGuide.prototype.hide=function(){this.setVisible(!1)};
@ -668,9 +668,9 @@ function mxArrowConnector(a,c,f,d,b,e,g){mxShape.call(this);this.points=a;this.f
mxArrowConnector.prototype.resetStyles=function(){mxShape.prototype.resetStyles.apply(this,arguments);this.arrowSpacing=mxConstants.ARROW_SPACING};mxArrowConnector.prototype.apply=function(a){mxShape.prototype.apply.apply(this,arguments);null!=this.style&&(this.startSize=3*mxUtils.getNumber(this.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5),this.endSize=3*mxUtils.getNumber(this.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5))};
mxArrowConnector.prototype.augmentBoundingBox=function(a){mxShape.prototype.augmentBoundingBox.apply(this,arguments);var c=this.getEdgeWidth();this.isMarkerStart()&&(c=Math.max(c,this.getStartArrowWidth()));this.isMarkerEnd()&&(c=Math.max(c,this.getEndArrowWidth()));a.grow((c/2+this.strokewidth)*this.scale)};
mxArrowConnector.prototype.paintEdgeShape=function(a,c){var f=this.strokewidth;this.outline&&(f=Math.max(1,mxUtils.getNumber(this.style,mxConstants.STYLE_STROKEWIDTH,this.strokewidth)));for(var d=this.getStartArrowWidth()+f,b=this.getEndArrowWidth()+f,e=this.outline?this.getEdgeWidth()+f:this.getEdgeWidth(),g=this.isOpenEnded(),k=this.isMarkerStart(),l=this.isMarkerEnd(),m=g?0:this.arrowSpacing+f/2,n=this.startSize+f,f=this.endSize+f,p=this.isArrowRounded(),r=c[c.length-1],s=1;s<c.length-1&&c[s].x==
c[0].x&&c[s].y==c[0].y;)s++;var q=c[s].x-c[0].x,s=c[s].y-c[0].y,t=Math.sqrt(q*q+s*s);if(0!=t){var v=q/t,u,z=v,x=s/t,y,F=x,t=e*x,C=-e*v,A=[];p?a.setLineJoin("round"):2<c.length&&a.setMiterLimit(1.42);a.begin();q=v;s=x;if(k&&!g)this.paintMarker(a,c[0].x,c[0].y,v,x,n,d,e,m,!0);else{u=c[0].x+t/2+m*v;y=c[0].y+C/2+m*x;var E=c[0].x-t/2+m*v,G=c[0].y-C/2+m*x;g?(a.moveTo(u,y),A.push(function(){a.lineTo(E,G)})):(a.moveTo(E,G),a.lineTo(u,y))}for(var H=y=u=0,t=0;t<c.length-2;t++)if(C=mxUtils.relativeCcw(c[t].x,
c[t].y,c[t+1].x,c[t+1].y,c[t+2].x,c[t+2].y),u=c[t+2].x-c[t+1].x,y=c[t+2].y-c[t+1].y,H=Math.sqrt(u*u+y*y),0!=H&&(z=u/H,F=y/H,tmp=Math.max(Math.sqrt((v*z+x*F+1)/2),0.04),u=v+z,y=x+F,H=Math.sqrt(u*u+y*y),0!=H)){u/=H;y/=H;var H=Math.max(tmp,Math.min(this.strokewidth/200+0.04,0.35)),H=0!=C&&p?Math.max(0.1,H):Math.max(tmp,0.06),I=c[t+1].x+y*e/2/H,J=c[t+1].y-u*e/2/H;y=c[t+1].x-y*e/2/H;u=c[t+1].y+u*e/2/H;0==C||!p?(a.lineTo(I,J),function(b,d){A.push(function(){a.lineTo(b,d)})}(y,u)):-1==C?(C=y+F*e,H=u-z*e,
a.lineTo(y+x*e,u-v*e),a.quadTo(I,J,C,H),function(b,d){A.push(function(){a.lineTo(b,d)})}(y,u)):(a.lineTo(I,J),function(b,d){var c=I-x*e,f=J+v*e,g=I-F*e,k=J+z*e;A.push(function(){a.quadTo(b,d,c,f)});A.push(function(){a.lineTo(g,k)})}(y,u));v=z;x=F}t=e*F;C=-e*z;if(l&&!g)this.paintMarker(a,r.x,r.y,-v,-x,f,b,e,m,!1);else{a.lineTo(r.x-m*z+t/2,r.y-m*F+C/2);var K=r.x-m*z-t/2,O=r.y-m*F-C/2;g?(a.moveTo(K,O),A.splice(0,0,function(){a.moveTo(K,O)})):a.lineTo(K,O)}for(t=A.length-1;0<=t;t--)A[t]();g?(a.end(),
c[0].x&&c[s].y==c[0].y;)s++;var q=c[s].x-c[0].x,s=c[s].y-c[0].y,t=Math.sqrt(q*q+s*s);if(0!=t){var v=q/t,u,z=v,x=s/t,y,F=x,t=e*x,B=-e*v,A=[];p?a.setLineJoin("round"):2<c.length&&a.setMiterLimit(1.42);a.begin();q=v;s=x;if(k&&!g)this.paintMarker(a,c[0].x,c[0].y,v,x,n,d,e,m,!0);else{u=c[0].x+t/2+m*v;y=c[0].y+B/2+m*x;var E=c[0].x-t/2+m*v,G=c[0].y-B/2+m*x;g?(a.moveTo(u,y),A.push(function(){a.lineTo(E,G)})):(a.moveTo(E,G),a.lineTo(u,y))}for(var H=y=u=0,t=0;t<c.length-2;t++)if(B=mxUtils.relativeCcw(c[t].x,
c[t].y,c[t+1].x,c[t+1].y,c[t+2].x,c[t+2].y),u=c[t+2].x-c[t+1].x,y=c[t+2].y-c[t+1].y,H=Math.sqrt(u*u+y*y),0!=H&&(z=u/H,F=y/H,tmp=Math.max(Math.sqrt((v*z+x*F+1)/2),0.04),u=v+z,y=x+F,H=Math.sqrt(u*u+y*y),0!=H)){u/=H;y/=H;var H=Math.max(tmp,Math.min(this.strokewidth/200+0.04,0.35)),H=0!=B&&p?Math.max(0.1,H):Math.max(tmp,0.06),I=c[t+1].x+y*e/2/H,J=c[t+1].y-u*e/2/H;y=c[t+1].x-y*e/2/H;u=c[t+1].y+u*e/2/H;0==B||!p?(a.lineTo(I,J),function(b,d){A.push(function(){a.lineTo(b,d)})}(y,u)):-1==B?(B=y+F*e,H=u-z*e,
a.lineTo(y+x*e,u-v*e),a.quadTo(I,J,B,H),function(b,d){A.push(function(){a.lineTo(b,d)})}(y,u)):(a.lineTo(I,J),function(b,d){var c=I-x*e,f=J+v*e,g=I-F*e,k=J+z*e;A.push(function(){a.quadTo(b,d,c,f)});A.push(function(){a.lineTo(g,k)})}(y,u));v=z;x=F}t=e*F;B=-e*z;if(l&&!g)this.paintMarker(a,r.x,r.y,-v,-x,f,b,e,m,!1);else{a.lineTo(r.x-m*z+t/2,r.y-m*F+B/2);var K=r.x-m*z-t/2,O=r.y-m*F-B/2;g?(a.moveTo(K,O),A.splice(0,0,function(){a.moveTo(K,O)})):a.lineTo(K,O)}for(t=A.length-1;0<=t;t--)A[t]();g?(a.end(),
a.stroke()):(a.close(),a.fillAndStroke());a.setShadow(!1);a.setMiterLimit(4);p&&a.setLineJoin("flat");2<c.length&&(a.setMiterLimit(4),k&&!g&&(a.begin(),this.paintMarker(a,c[0].x,c[0].y,q,s,n,d,e,m,!0),a.stroke(),a.end()),l&&!g&&(a.begin(),this.paintMarker(a,r.x,r.y,-v,-x,f,b,e,m,!0),a.stroke(),a.end()))}};
mxArrowConnector.prototype.paintMarker=function(a,c,f,d,b,e,g,k,l,m){g=k/g;var n=k*b/2;k=-k*d/2;var p=(l+e)*d;e=(l+e)*b;m?a.moveTo(c-n+p,f-k+e):a.lineTo(c-n+p,f-k+e);a.lineTo(c-n/g+p,f-k/g+e);a.lineTo(c+l*d,f+l*b);a.lineTo(c+n/g+p,f+k/g+e);a.lineTo(c+n+p,f+k+e)};mxArrowConnector.prototype.isArrowRounded=function(){return this.isRounded};mxArrowConnector.prototype.getStartArrowWidth=function(){return mxConstants.ARROW_WIDTH};mxArrowConnector.prototype.getEndArrowWidth=function(){return mxConstants.ARROW_WIDTH};
mxArrowConnector.prototype.getEdgeWidth=function(){return mxConstants.ARROW_WIDTH/3};mxArrowConnector.prototype.isOpenEnded=function(){return!1};mxArrowConnector.prototype.isMarkerStart=function(){return mxUtils.getValue(this.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE};mxArrowConnector.prototype.isMarkerEnd=function(){return mxUtils.getValue(this.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE};
@ -869,7 +869,7 @@ k}}else{f++;for(b=0;b<this.nestedBestRanks.length;b++){e=a.ranks[b];for(g=0;g<e.
mxMedianHybridCrossingReduction.prototype.calculateRankCrossing=function(a,c){for(var f=0,d=c.ranks[a],b=c.ranks[a-1],e=[],g=0;g<d.length;g++){for(var k=d[g],l=k.getGeneralPurposeVariable(a),k=k.getPreviousLayerConnectedCells(a),m=[],n=0;n<k.length;n++){var p=k[n].getGeneralPurposeVariable(a-1);m.push(p)}m.sort(function(b,a){return b-a});e[l]=m}d=[];for(g=0;g<e.length;g++)d=d.concat(e[g]);for(e=1;e<b.length;)e<<=1;l=2*e-1;e-=1;b=[];for(g=0;g<l;++g)b[g]=0;for(g=0;g<d.length;g++){l=d[g]+e;for(++b[l];0<
l;)l%2&&(f+=b[l+1]),l=l-1>>1,++b[l]}return f};
mxMedianHybridCrossingReduction.prototype.transpose=function(a,c){for(var f=!0,d=0;f&&10>d++;)for(var b=1==a%2&&1==d%2,f=!1,e=0;e<c.ranks.length;e++){for(var g=c.ranks[e],k=[],l=0;l<g.length;l++){var m=g[l],n=m.getGeneralPurposeVariable(e);0>n&&(n=l);k[n]=m}for(var p=null,r=null,s=null,q=null,t=null,v=null,u=null,z=null,l=0;l<g.length-1;l++){if(0==l){for(var u=k[l],m=u.getNextLayerConnectedCells(e),n=u.getPreviousLayerConnectedCells(e),s=[],q=[],x=0;x<m.length;x++)s[x]=m[x].getGeneralPurposeVariable(e+
1);for(x=0;x<n.length;x++)q[x]=n[x].getGeneralPurposeVariable(e-1)}else m=p,n=r,s=t,q=v,u=z;z=k[l+1];p=z.getNextLayerConnectedCells(e);r=z.getPreviousLayerConnectedCells(e);t=[];v=[];for(x=0;x<p.length;x++)t[x]=p[x].getGeneralPurposeVariable(e+1);for(x=0;x<r.length;x++)v[x]=r[x].getGeneralPurposeVariable(e-1);for(var y=0,F=0,x=0;x<s.length;x++)for(var C=0;C<t.length;C++)s[x]>t[C]&&y++,s[x]<t[C]&&F++;for(x=0;x<q.length;x++)for(C=0;C<v.length;C++)q[x]>v[C]&&y++,q[x]<v[C]&&F++;if(F<y||F==y&&b)p=u.getGeneralPurposeVariable(e),
1);for(x=0;x<n.length;x++)q[x]=n[x].getGeneralPurposeVariable(e-1)}else m=p,n=r,s=t,q=v,u=z;z=k[l+1];p=z.getNextLayerConnectedCells(e);r=z.getPreviousLayerConnectedCells(e);t=[];v=[];for(x=0;x<p.length;x++)t[x]=p[x].getGeneralPurposeVariable(e+1);for(x=0;x<r.length;x++)v[x]=r[x].getGeneralPurposeVariable(e-1);for(var y=0,F=0,x=0;x<s.length;x++)for(var B=0;B<t.length;B++)s[x]>t[B]&&y++,s[x]<t[B]&&F++;for(x=0;x<q.length;x++)for(B=0;B<v.length;B++)q[x]>v[B]&&y++,q[x]<v[B]&&F++;if(F<y||F==y&&b)p=u.getGeneralPurposeVariable(e),
u.setGeneralPurposeVariable(e,z.getGeneralPurposeVariable(e)),z.setGeneralPurposeVariable(e,p),p=m,r=n,t=s,v=q,z=u,b||(f=!0)}}};mxMedianHybridCrossingReduction.prototype.weightedMedian=function(a,c){var f=0==a%2;if(f)for(var d=c.maxRank-1;0<=d;d--)this.medianRank(d,f);else for(d=1;d<c.maxRank;d++)this.medianRank(d,f)};
mxMedianHybridCrossingReduction.prototype.medianRank=function(a,c){for(var f=this.nestedBestRanks[a].length,d=[],b=[],e=0;e<f;e++){var g=this.nestedBestRanks[a][e],k=new MedianCellSorter;k.cell=g;var l;l=c?g.getNextLayerConnectedCells(a):g.getPreviousLayerConnectedCells(a);var m;m=c?a+1:a-1;null!=l&&0!=l.length?(k.medianValue=this.medianValue(l,m),d.push(k)):b[g.getGeneralPurposeVariable(a)]=!0}d.sort(MedianCellSorter.prototype.compare);for(e=0;e<f;e++)null==b[e]&&(g=d.shift().cell,g.setGeneralPurposeVariable(a,
e))};mxMedianHybridCrossingReduction.prototype.medianValue=function(a,c){for(var f=[],d=0,b=0;b<a.length;b++){var e=a[b];f[d++]=e.getGeneralPurposeVariable(c)}f.sort(function(b,a){return b-a});if(1==d%2)return f[Math.floor(d/2)];if(2==d)return(f[0]+f[1])/2;b=d/2;e=f[b-1]-f[0];d=f[d-1]-f[b];return(f[b-1]*d+f[b]*e)/(e+d)};function MedianCellSorter(){}MedianCellSorter.prototype.medianValue=0;MedianCellSorter.prototype.cell=!1;
@ -1032,7 +1032,7 @@ g.writeln(k);mxClient.IS_VML?g.writeln('\x3chtml xmlns:v\x3d"urn:schemas-microso
(this.x0-=p.x*this.scale,this.y0-=p.y*this.scale,l.width+=l.x,l.height+=l.y,l.x=0,this.border=l.y=0);var r=this.pageFormat.width-2*this.border,s=this.pageFormat.height-2*this.border;this.pageFormat.height+=this.marginTop+this.marginBottom;l.width/=n;l.height/=n;var q=Math.max(1,Math.ceil((l.width+this.x0)/r)),t=Math.max(1,Math.ceil((l.height+this.y0)/s));this.pageCount=q*t;var v=mxUtils.bind(this,function(){if(this.pageSelector&&(1<t||1<q)){var b=this.createPageSelector(t,q);g.body.appendChild(b);
if(mxClient.IS_IE&&null==g.documentMode||5==g.documentMode||8==g.documentMode||7==g.documentMode){b.style.position="absolute";var a=function(){b.style.top=(g.body.scrollTop||g.documentElement.scrollTop)+10+"px"};mxEvent.addListener(this.wnd,"scroll",function(b){a()});mxEvent.addListener(this.wnd,"resize",function(b){a()})}}}),u=mxUtils.bind(this,function(b,a){null!=this.borderColor&&(b.style.borderColor=this.borderColor,b.style.borderStyle="solid",b.style.borderWidth="1px");b.style.background=this.backgroundColor;
if(f||a)b.style.pageBreakAfter="always";mxClient.IS_IE||11<=document.documentMode||mxClient.IS_EDGE?(g.writeln(b.outerHTML),b.parentNode.removeChild(b)):(b.parentNode.removeChild(b),g.body.appendChild(b));(f||a)&&this.addPageBreak(g)}),z=this.getCoverPages(this.pageFormat.width,this.pageFormat.height);if(null!=z)for(var x=0;x<z.length;x++)u(z[x],!0);for(var y=this.getAppendices(this.pageFormat.width,this.pageFormat.height),x=0;x<t;x++){var F=x*s/this.scale-this.y0/this.scale+(l.y-p.y*m)/m;for(a=0;a<
q;a++){if(null==this.wnd)return null;var C=a*r/this.scale-this.x0/this.scale+(l.x-p.x*m)/m,A=x*q+a+1,E=new mxRectangle(C,F,r,s),e=this.renderPage(this.pageFormat.width,this.pageFormat.height,0,0,mxUtils.bind(this,function(b){this.addGraphFragment(-C,-F,this.scale,A,b,E);this.printBackgroundImage&&this.insertBackgroundImage(b,-C,-F)}),A);e.setAttribute("id","mxPage-"+A);u(e,null!=y||x<t-1||a<q-1)}}if(null!=y)for(x=0;x<y.length;x++)u(y[x],x<y.length);c&&!d&&(this.closeDocument(),v());this.wnd.focus()}catch(G){null!=
q;a++){if(null==this.wnd)return null;var B=a*r/this.scale-this.x0/this.scale+(l.x-p.x*m)/m,A=x*q+a+1,E=new mxRectangle(B,F,r,s),e=this.renderPage(this.pageFormat.width,this.pageFormat.height,0,0,mxUtils.bind(this,function(b){this.addGraphFragment(-B,-F,this.scale,A,b,E);this.printBackgroundImage&&this.insertBackgroundImage(b,-B,-F)}),A);e.setAttribute("id","mxPage-"+A);u(e,null!=y||x<t-1||a<q-1)}}if(null!=y)for(x=0;x<y.length;x++)u(y[x],x<y.length);c&&!d&&(this.closeDocument(),v());this.wnd.focus()}catch(G){null!=
e&&null!=e.parentNode&&e.parentNode.removeChild(e)}finally{this.graph.cellRenderer.initializeOverlay=b}return this.wnd};mxPrintPreview.prototype.addPageBreak=function(a){var c=a.createElement("hr");c.className="mxPageBreak";a.body.appendChild(c)};mxPrintPreview.prototype.closeDocument=function(){if(null!=this.wnd){var a=this.wnd.document;this.writePostfix(a);a.writeln("\x3c/body\x3e");a.writeln("\x3c/html\x3e");a.close();mxEvent.release(a.body)}};
mxPrintPreview.prototype.writeHead=function(a,c){null!=this.title&&a.writeln("\x3ctitle\x3e"+this.title+"\x3c/title\x3e");mxClient.IS_VML&&a.writeln('\x3cstyle type\x3d"text/css"\x3ev\\:*{behavior:url(#default#VML)}o\\:*{behavior:url(#default#VML)}\x3c/style\x3e');mxClient.link("stylesheet",mxClient.basePath+"/css/common.css",a);a.writeln('\x3cstyle type\x3d"text/css"\x3e');a.writeln("@media print {");a.writeln(" table.mxPageSelector { display: none; }");a.writeln(" hr.mxPageBreak { display: none; }");
a.writeln("}");a.writeln("@media screen {");a.writeln(" table.mxPageSelector { position: fixed; right: 10px; top: 10px;font-family: Arial; font-size:10pt; border: solid 1px darkgray;background: white; border-collapse:collapse; }");a.writeln(" table.mxPageSelector td { border: solid 1px gray; padding:4px; }");a.writeln(" body.mxPage { background: gray; }");a.writeln("}");null!=c&&a.writeln(c);a.writeln("\x3c/style\x3e")};mxPrintPreview.prototype.writePostfix=function(a){};
@ -2051,9 +2051,9 @@ m;this.toolbar.sizeMenu=n}l=d.cellEditor.isContentEditing();m=b;n=e;p=a}}),s=thi
"default";window.self===window.top&&null!=d.container.parentNode&&d.container.focus();var v=d.fireMouseEvent;d.fireMouseEvent=function(b,a,d){b==mxEvent.MOUSE_DOWN&&this.container.focus();v.apply(this,arguments)};d.popupMenuHandler.autoExpand=!0;null!=this.menus&&(d.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(b,a,d){this.menus.createPopupMenu(b,a,d)}));mxEvent.addGestureListeners(document,mxUtils.bind(this,function(b){d.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a);
this.getKeyHandler=function(){return keyHandler};var u="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),z="shape edgeStyle curved rounded elbow comic".split(" ");this.setDefaultStyle=function(b){var a=d.view.getState(b);if(null!=a){b=b.clone();b.style="";b=d.getCellStyle(b);var e=[],c=[],f;for(f in a.style)b[f]!=a.style[f]&&(e.push(a.style[f]),c.push(f));f=d.getModel().getStyle(a.cell);for(var g=null!=f?f.split(";"):[],k=0;k<g.length;k++){var l=g[k],m=l.indexOf("\x3d");
0<=m&&(f=l.substring(0,m),l=l.substring(m+1),null!=b[f]&&"none"==l&&(e.push(l),c.push(f)))}d.getModel().isEdge(a.cell)?d.currentEdgeStyle={}:d.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",c,"values",e,"cells",[a.cell]))}};this.clearDefaultStyle=function(){d.currentEdgeStyle=d.defaultEdgeStyle;d.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var x=["fontFamily","fontSize","fontColor"],y="edgeStyle startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),
F=["startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),["strokeColor","strokeWidth"],["fillColor","gradientColor"],x,["align"],["html"]];for(a=0;a<F.length;a++)for(c=0;c<F[a].length;c++)u.push(F[a][c]);for(a=0;a<z.length;a++)u.push(z[a]);var C=function(b,a){d.getModel().beginUpdate();try{if(a)for(var e=d.getModel().isEdge(k),c=e?d.currentEdgeStyle:d.currentVertexStyle,e=["fontSize","fontFamily","fontColor"],f=0;f<e.length;f++){var g=c[e[f]];null!=g&&d.setCellStyles(e[f],
g,b)}else for(g=0;g<b.length;g++){for(var k=b[g],l=d.getModel().getStyle(k),m=null!=l?l.split(";"):[],n=u.slice(),f=0;f<m.length;f++){var q=m[f],r=q.indexOf("\x3d");if(0<=r){var s=q.substring(0,r),p=mxUtils.indexOf(n,s);0<=p&&n.splice(p,1);for(var t=0;t<F.length;t++){var v=F[t];if(0<=mxUtils.indexOf(v,s))for(var y=0;y<v.length;y++){var x=mxUtils.indexOf(n,v[y]);0<=x&&n.splice(x,1)}}}}c=(e=d.getModel().isEdge(k))?d.currentEdgeStyle:d.currentVertexStyle;for(f=0;f<n.length;f++){var s=n[f],C=c[s];if(null!=
C&&("shape"!=s||e))(!e||0>mxUtils.indexOf(z,s))&&d.setCellStyles(s,C,[k])}}}finally{d.getModel().endUpdate()}};d.addListener("cellsInserted",function(b,a){C(a.getProperty("cells"))});d.addListener("textInserted",function(b,a){C(a.getProperty("cells"),!0)});d.connectionHandler.addListener(mxEvent.CONNECT,function(b,a){var d=[a.getProperty("cell")];a.getProperty("terminalInserted")&&d.push(a.getProperty("terminal"));C(d)});this.addListener("styleChanged",mxUtils.bind(this,function(b,a){var e=a.getProperty("cells"),
F=["startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),["strokeColor","strokeWidth"],["fillColor","gradientColor"],x,["align"],["html"]];for(a=0;a<F.length;a++)for(c=0;c<F[a].length;c++)u.push(F[a][c]);for(a=0;a<z.length;a++)u.push(z[a]);var B=function(b,a){d.getModel().beginUpdate();try{if(a)for(var e=d.getModel().isEdge(k),c=e?d.currentEdgeStyle:d.currentVertexStyle,e=["fontSize","fontFamily","fontColor"],f=0;f<e.length;f++){var g=c[e[f]];null!=g&&d.setCellStyles(e[f],
g,b)}else for(g=0;g<b.length;g++){for(var k=b[g],l=d.getModel().getStyle(k),m=null!=l?l.split(";"):[],n=u.slice(),f=0;f<m.length;f++){var q=m[f],r=q.indexOf("\x3d");if(0<=r){var s=q.substring(0,r),p=mxUtils.indexOf(n,s);0<=p&&n.splice(p,1);for(var t=0;t<F.length;t++){var v=F[t];if(0<=mxUtils.indexOf(v,s))for(var y=0;y<v.length;y++){var x=mxUtils.indexOf(n,v[y]);0<=x&&n.splice(x,1)}}}}c=(e=d.getModel().isEdge(k))?d.currentEdgeStyle:d.currentVertexStyle;for(f=0;f<n.length;f++){var s=n[f],B=c[s];if(null!=
B&&("shape"!=s||e))(!e||0>mxUtils.indexOf(z,s))&&d.setCellStyles(s,B,[k])}}}finally{d.getModel().endUpdate()}};d.addListener("cellsInserted",function(b,a){B(a.getProperty("cells"))});d.addListener("textInserted",function(b,a){B(a.getProperty("cells"),!0)});d.connectionHandler.addListener(mxEvent.CONNECT,function(b,a){var d=[a.getProperty("cell")];a.getProperty("terminalInserted")&&d.push(a.getProperty("terminal"));B(d)});this.addListener("styleChanged",mxUtils.bind(this,function(b,a){var e=a.getProperty("cells"),
c=!1,f=!1;if(0<e.length)for(var g=0;g<e.length&&!(c=d.getModel().isVertex(e[g])||c,(f=d.getModel().isEdge(e[g])||f)&&c);g++);else f=c=!0;for(var e=a.getProperty("keys"),k=a.getProperty("values"),g=0;g<e.length;g++){var l=0<=mxUtils.indexOf(x,e[g]);if("strokeColor"!=e[g]||null!=k[g]&&"none"!=k[g])if(0<=mxUtils.indexOf(z,e[g]))f||0<=mxUtils.indexOf(y,e[g])?null==k[g]?delete d.currentEdgeStyle[e[g]]:d.currentEdgeStyle[e[g]]=k[g]:c&&0<=mxUtils.indexOf(u,e[g])&&(null==k[g]?delete d.currentVertexStyle[e[g]]:
d.currentVertexStyle[e[g]]=k[g]);else if(0<=mxUtils.indexOf(u,e[g])){if(c||l)null==k[g]?delete d.currentVertexStyle[e[g]]:d.currentVertexStyle[e[g]]=k[g];if(f||l||0<=mxUtils.indexOf(y,e[g]))null==k[g]?delete d.currentEdgeStyle[e[g]]:d.currentEdgeStyle[e[g]]=k[g]}}null!=this.toolbar&&(this.toolbar.setFontName(d.currentVertexStyle.fontFamily||Menus.prototype.defaultFont),this.toolbar.setFontSize(d.currentVertexStyle.fontSize||Menus.prototype.defaultFontSize),null!=this.toolbar.edgeStyleMenu&&(this.toolbar.edgeStyleMenu.getElementsByTagName("div")[0].className=
"orthogonalEdgeStyle"==d.currentEdgeStyle.edgeStyle&&"1"==d.currentEdgeStyle.curved?"geSprite geSprite-curved":"straight"==d.currentEdgeStyle.edgeStyle||"none"==d.currentEdgeStyle.edgeStyle||null==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-straight":"entityRelationEdgeStyle"==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-entity":"elbowEdgeStyle"==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==d.currentEdgeStyle.elbow?"verticalelbow":"horizontalelbow"):"isometricEdgeStyle"==
@ -2320,24 +2320,24 @@ Sidebar.prototype.createDragSource=function(a,c,f,d,b){function e(b,a){var d=nul
mxClient.IS_QUIRKS?"inline":"inline-block"):(d=mxUtils.createImage(b.src),d.style.width=b.width+"px",d.style.height=b.height+"px");null!=a&&d.setAttribute("title",a);mxUtils.setOpacity(d,b==this.refreshTarget?30:20);d.style.position="absolute";d.style.cursor="crosshair";return d}function g(b,a,d,e){null!=e.parentNode&&(mxUtils.contains(d,b,a)?(mxUtils.setOpacity(e,100),J=e):mxUtils.setOpacity(e,e==A?30:20));return d}for(var k=this.editorUi,l=k.editor.graph,m=null,n=null,p=this,r=0;r<d.length&&!(null==
n&&this.editorUi.editor.graph.model.isVertex(d[r])?n=r:null==m&&this.editorUi.editor.graph.model.isEdge(d[r])&&null==this.editorUi.editor.graph.model.getTerminal(d[r],!0)&&(m=r),null!=n&&null!=m);r++);var s=mxUtils.makeDraggable(a,this.editorUi.editor.graph,mxUtils.bind(this,function(b,a,e,f,g){null!=this.updateThread&&window.clearTimeout(this.updateThread);if(null!=d&&null!=u&&J==A){var k=b.isCellSelected(u.cell)?b.getSelectionCells():[u.cell],k=this.updateShapes(b.model.isEdge(u.cell)?d[0]:d[n],
k);b.setSelectionCells(k)}else null!=d&&null!=J&&null!=t&&J!=A?(k=b.model.isEdge(t.cell)||null==m?n:m,this.dropAndConnect(t.cell,d,I,k)):c.apply(this,arguments);null!=this.editorUi.hoverIcons&&this.editorUi.hoverIcons.update(b.view.getState(b.getSelectionCell()))}),f,0,0,this.editorUi.editor.graph.autoscroll,!0,!0);this.editorUi.editor.graph.addListener(mxEvent.ESCAPE,function(b,a){s.isActive()&&s.reset()});var q=s.mouseDown;s.mouseDown=function(b){!mxEvent.isPopupTrigger(b)&&!mxEvent.isMultiTouchEvent(b)&&
(l.stopEditing(),q.apply(this,arguments))};var t=null,v=null,u=null,z=!1,x=e(this.triangleUp,mxResources.get("connect")),y=e(this.triangleRight,mxResources.get("connect")),F=e(this.triangleDown,mxResources.get("connect")),C=e(this.triangleLeft,mxResources.get("connect")),A=e(this.refreshTarget,mxResources.get("replace")),E=null,G=e(this.roundDrop),H=e(this.roundDrop),I=mxConstants.DIRECTION_NORTH,J=null,K=s.createPreviewElement;s.createPreviewElement=function(b){var a=K.apply(this,arguments);mxClient.IS_SVG&&
(l.stopEditing(),q.apply(this,arguments))};var t=null,v=null,u=null,z=!1,x=e(this.triangleUp,mxResources.get("connect")),y=e(this.triangleRight,mxResources.get("connect")),F=e(this.triangleDown,mxResources.get("connect")),B=e(this.triangleLeft,mxResources.get("connect")),A=e(this.refreshTarget,mxResources.get("replace")),E=null,G=e(this.roundDrop),H=e(this.roundDrop),I=mxConstants.DIRECTION_NORTH,J=null,K=s.createPreviewElement;s.createPreviewElement=function(b){var a=K.apply(this,arguments);mxClient.IS_SVG&&
(a.style.pointerEvents="none");this.previewElementWidth=a.style.width;this.previewElementHeight=a.style.height;return a};var O=s.dragEnter;s.dragEnter=function(b,a){null!=k.hoverIcons&&k.hoverIcons.setDisplay("none");O.apply(this,arguments)};var U=s.dragExit;s.dragExit=function(b,a){null!=k.hoverIcons&&k.hoverIcons.setDisplay("");U.apply(this,arguments)};s.dragOver=function(a,e){mxDragSource.prototype.dragOver.apply(this,arguments);null!=this.currentGuide&&null!=J&&this.currentGuide.hide();if(null!=
this.previewElement){var c=a.view;if(null!=u&&J==A)this.previewElement.style.display=a.model.isEdge(u.cell)?"none":"",this.previewElement.style.left=u.x+"px",this.previewElement.style.top=u.y+"px",this.previewElement.style.width=u.width+"px",this.previewElement.style.height=u.height+"px";else if(null!=t&&null!=J){var f=a.model.isEdge(t.cell)||null==m?n:m,g=p.getDropAndConnectGeometry(t.cell,d[f],I,d),k=!a.model.isEdge(t.cell)?a.getCellGeometry(t.cell):null,l=a.getCellGeometry(d[f]),q=a.model.getParent(t.cell),
r=c.translate.x*c.scale,v=c.translate.y*c.scale;null!=k&&!k.relative&&a.model.isVertex(q)&&(v=c.getState(q),r=v.x,v=v.y);k=l.x;l=l.y;a.model.isEdge(d[f])&&(l=k=0);this.previewElement.style.left=(g.x-k)*c.scale+r+"px";this.previewElement.style.top=(g.y-l)*c.scale+v+"px";1==d.length&&(this.previewElement.style.width=g.width*c.scale+"px",this.previewElement.style.height=g.height*c.scale+"px");this.previewElement.style.display=""}else null!=s.currentHighlight.state&&a.model.isEdge(s.currentHighlight.state.cell)?
(this.previewElement.style.left=Math.round(parseInt(this.previewElement.style.left)-b.width*c.scale/2)+"px",this.previewElement.style.top=Math.round(parseInt(this.previewElement.style.top)-b.height*c.scale/2)+"px"):(this.previewElement.style.width=this.previewElementWidth,this.previewElement.style.height=this.previewElementHeight,this.previewElement.style.display="")}};var W=(new Date).getTime(),B=0,D=null,Q=this.editorUi.editor.graph.getCellStyle(d[0]);s.getDropTarget=mxUtils.bind(this,function(b,
a,e,c){var f=!mxEvent.isAltDown(c)&&null!=d?b.getCellAt(a,e):null;if(null!=f&&!this.graph.isCellConnectable(f)){var k=this.graph.getModel().getParent(f);this.graph.getModel().isVertex(k)&&this.graph.isCellConnectable(k)&&(f=k)}b.isCellLocked(f)&&(f=null);var l=b.view.getState(f),k=J=null;D!=l?(D=l,W=(new Date).getTime(),B=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=l&&(this.updateThread=window.setTimeout(function(){null==J&&(D=l,s.getDropTarget(b,a,e,c))},this.dropTargetDelay+
10))):B=(new Date).getTime()-W;if(2500>B&&null!=l&&!mxEvent.isShiftDown(c)&&(mxUtils.getValue(l.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(Q,mxConstants.STYLE_SHAPE)&&mxUtils.getValue(l.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||"image"==mxUtils.getValue(Q,mxConstants.STYLE_SHAPE)||1500<B||b.model.isEdge(l.cell))&&B>this.dropTargetDelay&&(b.model.isVertex(l.cell)&&null!=n||b.model.isEdge(l.cell)&&b.model.isEdge(d[0]))){u=l;var m=b.model.isEdge(l.cell)?b.view.getPoint(l):
new mxPoint(l.getCenterX(),l.getCenterY()),m=new mxRectangle(m.x-this.refreshTarget.width/2,m.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);A.style.left=Math.floor(m.x)+"px";A.style.top=Math.floor(m.y)+"px";null==E&&(b.container.appendChild(A),E=A.parentNode);g(a,e,m,A)}else null==u||!mxUtils.contains(u,a,e)||1500<B&&!mxEvent.isShiftDown(c)?(u=null,null!=E&&(A.parentNode.removeChild(A),E=null)):null!=u&&null!=E&&(m=b.model.isEdge(u.cell)?b.view.getPoint(u):new mxPoint(u.getCenterX(),
(this.previewElement.style.left=Math.round(parseInt(this.previewElement.style.left)-b.width*c.scale/2)+"px",this.previewElement.style.top=Math.round(parseInt(this.previewElement.style.top)-b.height*c.scale/2)+"px"):(this.previewElement.style.width=this.previewElementWidth,this.previewElement.style.height=this.previewElementHeight,this.previewElement.style.display="")}};var W=(new Date).getTime(),C=0,D=null,Q=this.editorUi.editor.graph.getCellStyle(d[0]);s.getDropTarget=mxUtils.bind(this,function(b,
a,e,c){var f=!mxEvent.isAltDown(c)&&null!=d?b.getCellAt(a,e):null;if(null!=f&&!this.graph.isCellConnectable(f)){var k=this.graph.getModel().getParent(f);this.graph.getModel().isVertex(k)&&this.graph.isCellConnectable(k)&&(f=k)}b.isCellLocked(f)&&(f=null);var l=b.view.getState(f),k=J=null;D!=l?(D=l,W=(new Date).getTime(),C=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=l&&(this.updateThread=window.setTimeout(function(){null==J&&(D=l,s.getDropTarget(b,a,e,c))},this.dropTargetDelay+
10))):C=(new Date).getTime()-W;if(2500>C&&null!=l&&!mxEvent.isShiftDown(c)&&(mxUtils.getValue(l.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(Q,mxConstants.STYLE_SHAPE)&&mxUtils.getValue(l.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||"image"==mxUtils.getValue(Q,mxConstants.STYLE_SHAPE)||1500<C||b.model.isEdge(l.cell))&&C>this.dropTargetDelay&&(b.model.isVertex(l.cell)&&null!=n||b.model.isEdge(l.cell)&&b.model.isEdge(d[0]))){u=l;var m=b.model.isEdge(l.cell)?b.view.getPoint(l):
new mxPoint(l.getCenterX(),l.getCenterY()),m=new mxRectangle(m.x-this.refreshTarget.width/2,m.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);A.style.left=Math.floor(m.x)+"px";A.style.top=Math.floor(m.y)+"px";null==E&&(b.container.appendChild(A),E=A.parentNode);g(a,e,m,A)}else null==u||!mxUtils.contains(u,a,e)||1500<C&&!mxEvent.isShiftDown(c)?(u=null,null!=E&&(A.parentNode.removeChild(A),E=null)):null!=u&&null!=E&&(m=b.model.isEdge(u.cell)?b.view.getPoint(u):new mxPoint(u.getCenterX(),
u.getCenterY()),m=new mxRectangle(m.x-this.refreshTarget.width/2,m.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height),g(a,e,m,A));if(z&&null!=t&&!mxEvent.isAltDown(c)&&null==J){k=mxRectangle.fromRectangle(t);if(b.model.isEdge(t.cell)){var q=t.absolutePoints;null!=G.parentNode&&(m=q[0],k.add(g(a,e,new mxRectangle(m.x-this.roundDrop.width/2,m.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),G)));null!=H.parentNode&&(q=q[q.length-1],k.add(g(a,e,new mxRectangle(q.x-
this.roundDrop.width/2,q.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),H)))}else m=mxRectangle.fromRectangle(t),null!=t.shape&&null!=t.shape.boundingBox&&(m=mxRectangle.fromRectangle(t.shape.boundingBox)),m.grow(this.graph.tolerance),m.grow(HoverIcons.prototype.arrowSpacing),q=this.graph.selectionCellsHandler.getHandler(t.cell),null!=q&&(m.x-=q.horizontalOffset/2,m.y-=q.verticalOffset/2,m.width+=q.horizontalOffset,m.height+=q.verticalOffset,null!=q.rotationShape&&null!=q.rotationShape.node&&
"hidden"!=q.rotationShape.node.style.visibility&&("none"!=q.rotationShape.node.style.display&&null!=q.rotationShape.boundingBox)&&m.add(q.rotationShape.boundingBox)),k.add(g(a,e,new mxRectangle(t.getCenterX()-this.triangleUp.width/2,m.y-this.triangleUp.height,this.triangleUp.width,this.triangleUp.height),x)),k.add(g(a,e,new mxRectangle(m.x+m.width,t.getCenterY()-this.triangleRight.height/2,this.triangleRight.width,this.triangleRight.height),y)),k.add(g(a,e,new mxRectangle(t.getCenterX()-this.triangleDown.width/
2,m.y+m.height,this.triangleDown.width,this.triangleDown.height),F)),k.add(g(a,e,new mxRectangle(m.x-this.triangleLeft.width,t.getCenterY()-this.triangleLeft.height/2,this.triangleLeft.width,this.triangleLeft.height),C));null!=k&&k.grow(10)}I=mxConstants.DIRECTION_NORTH;J==y?I=mxConstants.DIRECTION_EAST:J==F||J==H?I=mxConstants.DIRECTION_SOUTH:J==C&&(I=mxConstants.DIRECTION_WEST);null!=u&&J==A&&(l=u);m=(null==n||b.isCellConnectable(d[n]))&&(b.model.isEdge(f)&&null!=n||b.model.isVertex(f)&&b.isCellConnectable(f));
if(null!=t&&5E3<=B||t!=l&&(null==k||!mxUtils.contains(k,a,e)||500<B&&null==J&&m))if(z=!1,t=5E3>B&&B>this.dropTargetDelay||b.model.isEdge(f)?l:null,null!=t&&m){k=[G,H,x,y,F,C];for(m=0;m<k.length;m++)null!=k[m].parentNode&&k[m].parentNode.removeChild(k[m]);b.model.isEdge(f)?(q=l.absolutePoints,null!=q&&(m=q[0],q=q[q.length-1],k=b.tolerance,new mxRectangle(a-k,e-k,2*k,2*k),G.style.left=Math.floor(m.x-this.roundDrop.width/2)+"px",G.style.top=Math.floor(m.y-this.roundDrop.height/2)+"px",H.style.left=Math.floor(q.x-
2,m.y+m.height,this.triangleDown.width,this.triangleDown.height),F)),k.add(g(a,e,new mxRectangle(m.x-this.triangleLeft.width,t.getCenterY()-this.triangleLeft.height/2,this.triangleLeft.width,this.triangleLeft.height),B));null!=k&&k.grow(10)}I=mxConstants.DIRECTION_NORTH;J==y?I=mxConstants.DIRECTION_EAST:J==F||J==H?I=mxConstants.DIRECTION_SOUTH:J==B&&(I=mxConstants.DIRECTION_WEST);null!=u&&J==A&&(l=u);m=(null==n||b.isCellConnectable(d[n]))&&(b.model.isEdge(f)&&null!=n||b.model.isVertex(f)&&b.isCellConnectable(f));
if(null!=t&&5E3<=C||t!=l&&(null==k||!mxUtils.contains(k,a,e)||500<C&&null==J&&m))if(z=!1,t=5E3>C&&C>this.dropTargetDelay||b.model.isEdge(f)?l:null,null!=t&&m){k=[G,H,x,y,F,B];for(m=0;m<k.length;m++)null!=k[m].parentNode&&k[m].parentNode.removeChild(k[m]);b.model.isEdge(f)?(q=l.absolutePoints,null!=q&&(m=q[0],q=q[q.length-1],k=b.tolerance,new mxRectangle(a-k,e-k,2*k,2*k),G.style.left=Math.floor(m.x-this.roundDrop.width/2)+"px",G.style.top=Math.floor(m.y-this.roundDrop.height/2)+"px",H.style.left=Math.floor(q.x-
this.roundDrop.width/2)+"px",H.style.top=Math.floor(q.y-this.roundDrop.height/2)+"px",null==b.model.getTerminal(f,!0)&&b.container.appendChild(G),null==b.model.getTerminal(f,!1)&&b.container.appendChild(H))):(m=mxRectangle.fromRectangle(l),null!=l.shape&&null!=l.shape.boundingBox&&(m=mxRectangle.fromRectangle(l.shape.boundingBox)),m.grow(this.graph.tolerance),m.grow(HoverIcons.prototype.arrowSpacing),q=this.graph.selectionCellsHandler.getHandler(l.cell),null!=q&&(m.x-=q.horizontalOffset/2,m.y-=q.verticalOffset/
2,m.width+=q.horizontalOffset,m.height+=q.verticalOffset,null!=q.rotationShape&&null!=q.rotationShape.node&&"hidden"!=q.rotationShape.node.style.visibility&&("none"!=q.rotationShape.node.style.display&&null!=q.rotationShape.boundingBox)&&m.add(q.rotationShape.boundingBox)),x.style.left=Math.floor(l.getCenterX()-this.triangleUp.width/2)+"px",x.style.top=Math.floor(m.y-this.triangleUp.height)+"px",y.style.left=Math.floor(m.x+m.width)+"px",y.style.top=Math.floor(l.getCenterY()-this.triangleRight.height/
2)+"px",F.style.left=x.style.left,F.style.top=Math.floor(m.y+m.height)+"px",C.style.left=Math.floor(m.x-this.triangleLeft.width)+"px",C.style.top=y.style.top,"eastwest"!=l.style.portConstraint&&(b.container.appendChild(x),b.container.appendChild(F)),b.container.appendChild(y),b.container.appendChild(C));null!=l&&(v=b.selectionCellsHandler.getHandler(l.cell),null!=v&&null!=v.setHandlesVisible&&v.setHandlesVisible(!1));z=!0}else{k=[G,H,x,y,F,C];for(m=0;m<k.length;m++)null!=k[m].parentNode&&k[m].parentNode.removeChild(k[m])}!z&&
2)+"px",F.style.left=x.style.left,F.style.top=Math.floor(m.y+m.height)+"px",B.style.left=Math.floor(m.x-this.triangleLeft.width)+"px",B.style.top=y.style.top,"eastwest"!=l.style.portConstraint&&(b.container.appendChild(x),b.container.appendChild(F)),b.container.appendChild(y),b.container.appendChild(B));null!=l&&(v=b.selectionCellsHandler.getHandler(l.cell),null!=v&&null!=v.setHandlesVisible&&v.setHandlesVisible(!1));z=!0}else{k=[G,H,x,y,F,B];for(m=0;m<k.length;m++)null!=k[m].parentNode&&k[m].parentNode.removeChild(k[m])}!z&&
null!=v&&v.setHandlesVisible(!0);f=(!mxEvent.isAltDown(c)||mxEvent.isShiftDown(c))&&!(null!=u&&J==A)?mxDragSource.prototype.getDropTarget.apply(this,arguments):null;k=b.getModel();if(null!=f&&(null!=J||!b.isSplitTarget(f,d,c))){for(;null!=f&&!b.isValidDropTarget(f,d,c)&&k.isVertex(k.getParent(f));)f=k.getParent(f);if(b.view.currentRoot==f||!b.isValidRoot(f)&&0==b.getModel().getChildCount(f)||b.isCellLocked(f)||k.isEdge(f))f=null}return f});s.stopDrag=function(){mxDragSource.prototype.stopDrag.apply(this,
arguments);for(var b=[G,H,A,x,y,F,C],a=0;a<b.length;a++)null!=b[a].parentNode&&b[a].parentNode.removeChild(b[a]);null!=t&&null!=v&&v.reset();J=E=u=t=v=null};return s};
arguments);for(var b=[G,H,A,x,y,F,B],a=0;a<b.length;a++)null!=b[a].parentNode&&b[a].parentNode.removeChild(b[a]);null!=t&&null!=v&&v.reset();J=E=u=t=v=null};return s};
Sidebar.prototype.itemClicked=function(a,c,f,d){d=this.editorUi.editor.graph;if(mxEvent.isAltDown(f)){if(1==d.getSelectionCount()&&d.model.isVertex(d.getSelectionCell())){c=null;for(var b=0;b<a.length&&null==c;b++)d.model.isVertex(a[b])&&(c=b);null!=c&&(this.dropAndConnect(d.getSelectionCell(),a,mxEvent.isMetaDown(f)||mxEvent.isControlDown(f)?mxEvent.isShiftDown(f)?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH:mxEvent.isShiftDown(f)?mxConstants.DIRECTION_EAST:mxConstants.DIRECTION_SOUTH,
c),d.scrollCellToVisible(d.getSelectionCell()))}}else mxEvent.isShiftDown(f)?d.isSelectionEmpty()||(this.updateShapes(a[0],d.getSelectionCells()),d.scrollCellToVisible(d.getSelectionCell())):(a=d.getInsertPoint(),c.drop(d,f,null,a.x,a.y),null!=this.editorUi.hoverIcons&&mxEvent.isTouchEvent(f)&&this.editorUi.hoverIcons.update(d.view.getState(d.getSelectionCell())))};
Sidebar.prototype.addClickHandler=function(a,c,f){var d=this.editorUi.editor.graph,b=c.mouseUp,e=null;mxEvent.addGestureListeners(a,function(b){e=new mxPoint(mxEvent.getClientX(b),mxEvent.getClientY(b))});c.mouseUp=mxUtils.bind(this,function(g){if(!mxEvent.isPopupTrigger(g)&&null==this.currentGraph&&null!=e){var k=d.tolerance;Math.abs(e.x-mxEvent.getClientX(g))<=k&&Math.abs(e.y-mxEvent.getClientY(g))<=k&&this.itemClicked(f,c,g,a)}b.apply(c,arguments);e=null;this.currentElt=a})};
@ -2375,8 +2375,8 @@ arguments)||mxEvent.isShiftDown(b)};var u=p.isForceRubberbandEvent;p.isForceRubb
function(){this.isEnabled()&&(this.container.style.cursor=z)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(b){return mxEvent.isMouseEvent(b.getEvent())};var x=this.click;this.click=function(b){if(!this.isEnabled()&&!b.isConsumed()){var a=b.getCell();null!=a&&(a=this.getLinkForCell(a),null!=a&&window.open(a))}else return x.apply(this,arguments)};var y=this.getCursorForCell;this.getCursorForCell=function(b){if(this.isEnabled())return y.apply(this,arguments);if(null!=
this.getLinkForCell(b))return"pointer"};this.selectRegion=function(b,a){var d=this.getAllCells(b.x,b.y,b.width,b.height);this.selectCellsForEvent(d,a);return d};this.getAllCells=function(b,a,d,e,c,f){f=null!=f?f:[];if(0<d||0<e){var g=this.getModel(),k=b+d,l=a+e;null==c&&(c=this.getCurrentRoot(),null==c&&(c=g.getRoot()));if(null!=c)for(var m=g.getChildCount(c),n=0;n<m;n++){var q=g.getChildAt(c,n),r=this.view.getState(q);if(null!=r&&this.isCellVisible(q)&&"1"!=mxUtils.getValue(r.style,"locked","0")){var s=
mxUtils.getValue(r.style,mxConstants.STYLE_ROTATION)||0;0!=s&&(r=mxUtils.getBoundingBox(r,s));(g.isEdge(q)||g.isVertex(q))&&r.x>=b&&r.y+r.height<=l&&(r.y>=a&&r.x+r.width<=k)&&f.push(q);this.getAllCells(b,a,d,e,q,f)}}}return f};var F=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(b,a,d){return this.graph.isCellSelected(b)?!1:F.apply(this,arguments)};this.isCellLocked=function(b){for(b=this.view.getState(b);null!=b;){if("1"==mxUtils.getValue(b.style,
"locked","0"))return!0;b=this.view.getState(this.model.getParent(b.cell))}return!1};var C=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(b,a){if("mouseDown"==a.getProperty("eventName")){var d=a.getProperty("event").getState();C=null!=d&&!this.isSelectionEmpty()&&!this.isCellSelected(d.cell)?this.getSelectionCells():null}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(b,a){if(!mxEvent.isMultiTouchEvent(a)){var d=a.getProperty("event"),e=a.getProperty("cell");
null==e?(d=mxUtils.convertPoint(this.container,mxEvent.getClientX(d),mxEvent.getClientY(d)),p.start(d.x,d.y)):null!=C?this.addSelectionCells(C):1<this.getSelectionCount()&&this.isCellSelected(e)&&this.removeSelectionCell(e);C=null;a.consume()}}));this.connectionHandler.selectCells=function(b,a){this.graph.setSelectionCell(a||b)};this.connectionHandler.constraintHandler.isStateIgnored=function(b,a){return a&&b.view.graph.isCellSelected(b.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,
"locked","0"))return!0;b=this.view.getState(this.model.getParent(b.cell))}return!1};var B=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(b,a){if("mouseDown"==a.getProperty("eventName")){var d=a.getProperty("event").getState();B=null!=d&&!this.isSelectionEmpty()&&!this.isCellSelected(d.cell)?this.getSelectionCells():null}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(b,a){if(!mxEvent.isMultiTouchEvent(a)){var d=a.getProperty("event"),e=a.getProperty("cell");
null==e?(d=mxUtils.convertPoint(this.container,mxEvent.getClientX(d),mxEvent.getClientY(d)),p.start(d.x,d.y)):null!=B?this.addSelectionCells(B):1<this.getSelectionCount()&&this.isCellSelected(e)&&this.removeSelectionCell(e);B=null;a.consume()}}));this.connectionHandler.selectCells=function(b,a){this.graph.setSelectionCell(a||b)};this.connectionHandler.constraintHandler.isStateIgnored=function(b,a){return a&&b.view.graph.isCellSelected(b.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,
function(){var b=this.connectionHandler.constraintHandler;null!=b.currentFocus&&b.isStateIgnored(b.currentFocus,!0)&&(b.currentFocus=null,b.constraints=null,b.destroyIcons());b.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var A=this.updateMouseEvent;this.updateMouseEvent=function(b){b=A.apply(this,arguments);this.isCellLocked(b.getCell())&&(b.state=null);return b}}};
Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null;Graph.prototype.linkTarget="_blank";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;
Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;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.defaultThemeName="default";Graph.prototype.defaultThemes={};
@ -2564,7 +2564,7 @@ this.preferHtml&&(d-=1);return new mxRectangleShape(new mxRectangle(0,0,d,d),mxC
function(b){if(null!=b&&1==b.length){var a=this.graph.getModel(),d=a.getParent(b[0]),e=this.graph.getCellGeometry(b[0]);if(a.isEdge(d)&&null!=e&&e.relative&&(a=this.graph.view.getState(b[0]),null!=a&&2>a.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox))return mxRectangle.fromRectangle(a.text.boundingBox)}return x.apply(this,arguments)};var y=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(b){var a=this.graph.getModel(),d=a.getParent(b.cell),
e=this.graph.getCellGeometry(b.cell);return a.isEdge(d)&&null!=e&&e.relative&&2>b.width&&2>b.height&&null!=b.text&&null!=b.text.boundingBox?(a=b.text.unrotatedBoundingBox||b.text.boundingBox,new mxRectangle(Math.round(a.x),Math.round(a.y),Math.round(a.width),Math.round(a.height))):y.apply(this,arguments)};var F=mxVertexHandler.prototype.mouseDown;mxVertexHandler.prototype.mouseDown=function(b,a){var d=this.graph.getModel(),e=d.getParent(this.state.cell),c=this.graph.getCellGeometry(this.state.cell);
(this.getHandleForEvent(a)==mxEvent.ROTATION_HANDLE||!d.isEdge(e)||null==c||!c.relative||null==this.state||2<=this.state.width||2<=this.state.height)&&F.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()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){this.state.view.graph.turnShapes([this.state.cell])};
var C=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(b,a){C.apply(this,arguments);null!=this.graph.graphHandler.first&&null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none")};var A=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp=function(b,a){A.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":
var B=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(b,a){B.apply(this,arguments);null!=this.graph.graphHandler.first&&null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none")};var A=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp=function(b,a){A.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":
"none")};var E=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){E.apply(this,arguments);var b=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var a=mxUtils.bind(this,function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<
this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.selectionHandler=mxUtils.bind(this,function(b,d){a()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(b,d){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell));a()});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);this.editingHandler=mxUtils.bind(this,function(b,a){this.redrawHandles()});this.graph.addListener(mxEvent.EDITING_STOPPED,
this.editingHandler);var d=this.graph.getLinkForCell(this.state.cell);this.updateLinkHint(d);null!=d&&(b=!0);b&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(b){if(null==b||1<this.graph.getSelectionCount())null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=b){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="4px 10px 6px 10px",this.linkHint.style.fontSize="90%",this.linkHint.style.opacity="1",this.linkHint.style.filter=
@ -2580,8 +2580,8 @@ b.height+6+this.state.view.graph.tolerance)+"px"}};var U=mxEdgeHandler.prototype
this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null)}}();
(function(){function a(){mxCylinder.call(this)}function c(){mxActor.call(this)}function f(){mxCylinder.call(this)}function d(){mxCylinder.call(this)}function b(){mxCylinder.call(this)}function e(){mxActor.call(this)}function g(){mxCylinder.call(this)}function k(){mxActor.call(this)}function l(){mxActor.call(this)}function m(){mxActor.call(this)}function n(){mxActor.call(this)}function p(){mxActor.call(this)}function r(){mxActor.call(this)}function s(){mxActor.call(this)}function q(b,a){this.canvas=
b;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=a;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,q.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,q.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,q.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,q.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;
this.canvas.curveTo=mxUtils.bind(this,q.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,q.prototype.arcTo)}function t(){mxRectangleShape.call(this)}function v(){mxActor.call(this)}function u(){mxActor.call(this)}function z(){mxRectangleShape.call(this)}function x(){mxRectangleShape.call(this)}function y(){mxCylinder.call(this)}function F(){mxShape.call(this)}function C(){mxShape.call(this)}function A(){mxEllipse.call(this)}function E(){mxShape.call(this)}
function G(){mxShape.call(this)}function H(){mxRectangleShape.call(this)}function I(){mxShape.call(this)}function J(){mxShape.call(this)}function K(){mxShape.call(this)}function O(){mxCylinder.call(this)}function U(){mxDoubleEllipse.call(this)}function W(){mxDoubleEllipse.call(this)}function B(){mxArrowConnector.call(this);this.spacing=0}function D(){mxArrowConnector.call(this);this.spacing=0}function Q(){mxActor.call(this)}function P(){mxRectangleShape.call(this)}function N(){mxActor.call(this)}
this.canvas.curveTo=mxUtils.bind(this,q.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,q.prototype.arcTo)}function t(){mxRectangleShape.call(this)}function v(){mxActor.call(this)}function u(){mxActor.call(this)}function z(){mxRectangleShape.call(this)}function x(){mxRectangleShape.call(this)}function y(){mxCylinder.call(this)}function F(){mxShape.call(this)}function B(){mxShape.call(this)}function A(){mxEllipse.call(this)}function E(){mxShape.call(this)}
function G(){mxShape.call(this)}function H(){mxRectangleShape.call(this)}function I(){mxShape.call(this)}function J(){mxShape.call(this)}function K(){mxShape.call(this)}function O(){mxCylinder.call(this)}function U(){mxDoubleEllipse.call(this)}function W(){mxDoubleEllipse.call(this)}function C(){mxArrowConnector.call(this);this.spacing=0}function D(){mxArrowConnector.call(this);this.spacing=0}function Q(){mxActor.call(this)}function P(){mxRectangleShape.call(this)}function N(){mxActor.call(this)}
function V(){mxActor.call(this)}function L(){mxActor.call(this)}function M(){mxActor.call(this)}function R(){mxActor.call(this)}function X(){mxActor.call(this)}function da(){mxActor.call(this)}function ca(){mxActor.call(this)}function S(){mxActor.call(this)}function Z(){mxEllipse.call(this)}function ba(){mxEllipse.call(this)}function Y(){mxEllipse.call(this)}function T(){mxRhombus.call(this)}function ia(){mxEllipse.call(this)}function ea(){mxEllipse.call(this)}function aa(){mxEllipse.call(this)}function fa(){mxEllipse.call(this)}
function ja(){mxActor.call(this)}function ga(){mxActor.call(this)}function oa(){mxActor.call(this)}function wa(b,a,d,e,c,f,g,k,l,m){g+=l;var n=e.clone();e.x-=c*(2*g+l);e.y-=f*(2*g+l);c*=g+l;f*=g+l;return function(){b.ellipse(n.x-c-g,n.y-f-g,2*g,2*g);m?b.fillAndStroke():b.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(b,a,d,e,c,f){a=Math.max(0,Math.min(e,Math.min(c,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));f?(b.moveTo(a,c),b.lineTo(a,a),
b.lineTo(0,0),b.moveTo(a,a),b.lineTo(e,a)):(b.moveTo(0,0),b.lineTo(e-a,0),b.lineTo(e,a),b.lineTo(e,c),b.lineTo(a,c),b.lineTo(0,c-a),b.lineTo(0,0),b.close());b.end()};mxCellRenderer.prototype.defaultShapes.cube=a;var ta=Math.tan(mxUtils.toRadians(30)),na=(0.5-ta)/2;mxUtils.extend(c,mxActor);c.prototype.size=20;c.prototype.redrawPath=function(b,a,d,e,c){a=Math.min(e,c/ta);b.translate((e-a)/2,(c-a)/2+a/4);b.moveTo(0,0.25*a);b.lineTo(0.5*a,a*na);b.lineTo(a,0.25*a);b.lineTo(0.5*a,(0.5-na)*a);b.lineTo(0,
@ -2613,8 +2613,8 @@ arguments)};mxCellRenderer.prototype.defaultShapes.plus=z;var xa=mxRhombus.proto
e,c){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var f=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);a+=f;d+=f;e-=2*f;c-=2*f;0<e&&0<c&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}b.setDashed(!1);var f=0,g=null;do{g=mxCellRenderer.prototype.defaultShapes[this.style["symbol"+f]];if(null!=g){var k=this.style["symbol"+f+"Align"],l=this.style["symbol"+f+"VerticalAlign"],m=this.style["symbol"+f+"Width"],n=this.style["symbol"+
f+"Height"],q=this.style["symbol"+f+"Spacing"]||0,r=this.style["symbol"+f+"ArcSpacing"];null!=r&&(q+=this.getArcSize(e+this.strokewidth,c+this.strokewidth)*r);var r=a,s=d,r=k==mxConstants.ALIGN_CENTER?r+(e-m)/2:k==mxConstants.ALIGN_RIGHT?r+(e-m-q):r+q,s=l==mxConstants.ALIGN_MIDDLE?s+(c-n)/2:l==mxConstants.ALIGN_BOTTOM?s+(c-n-q):s+q;b.save();k=new g;k.style=this.style;g.prototype.paintVertexShape.call(k,b,r,s,m,n);b.restore()}f++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,
arguments)};mxCellRenderer.prototype.defaultShapes.ext=x;mxUtils.extend(y,mxCylinder);y.prototype.redrawPath=function(b,a,d,e,c,f){f?(b.moveTo(0,0),b.lineTo(e/2,c/2),b.lineTo(e,0),b.end()):(b.moveTo(0,0),b.lineTo(e,0),b.lineTo(e,c),b.lineTo(0,c),b.close())};mxCellRenderer.prototype.defaultShapes.message=y;mxUtils.extend(F,mxShape);F.prototype.paintBackground=function(b,a,d,e,c){b.translate(a,d);b.ellipse(e/4,0,e/2,c/4);b.fillAndStroke();b.begin();b.moveTo(e/2,c/4);b.lineTo(e/2,2*c/3);b.moveTo(e/2,
c/3);b.lineTo(0,c/3);b.moveTo(e/2,c/3);b.lineTo(e,c/3);b.moveTo(e/2,2*c/3);b.lineTo(0,c);b.moveTo(e/2,2*c/3);b.lineTo(e,c);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.umlActor=F;mxUtils.extend(C,mxShape);C.prototype.getLabelBounds=function(b){return new mxRectangle(b.x+b.width/6,b.y,5*b.width/6,b.height)};C.prototype.paintBackground=function(b,a,d,e,c){b.translate(a,d);b.begin();b.moveTo(0,c/4);b.lineTo(0,3*c/4);b.end();b.stroke();b.begin();b.moveTo(0,c/2);b.lineTo(e/6,c/2);b.end();
b.stroke();b.ellipse(e/6,0,5*e/6,c);b.fillAndStroke()};mxCellRenderer.prototype.defaultShapes.umlBoundary=C;mxUtils.extend(A,mxEllipse);A.prototype.paintVertexShape=function(b,a,d,e,c){mxEllipse.prototype.paintVertexShape.apply(this,arguments);b.begin();b.moveTo(a+e/8,d+c);b.lineTo(a+7*e/8,d+c);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.umlEntity=A;mxUtils.extend(E,mxShape);E.prototype.paintVertexShape=function(b,a,d,e,c){b.translate(a,d);b.begin();b.moveTo(e,0);b.lineTo(0,c);b.moveTo(0,
c/3);b.lineTo(0,c/3);b.moveTo(e/2,c/3);b.lineTo(e,c/3);b.moveTo(e/2,2*c/3);b.lineTo(0,c);b.moveTo(e/2,2*c/3);b.lineTo(e,c);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.umlActor=F;mxUtils.extend(B,mxShape);B.prototype.getLabelBounds=function(b){return new mxRectangle(b.x+b.width/6,b.y,5*b.width/6,b.height)};B.prototype.paintBackground=function(b,a,d,e,c){b.translate(a,d);b.begin();b.moveTo(0,c/4);b.lineTo(0,3*c/4);b.end();b.stroke();b.begin();b.moveTo(0,c/2);b.lineTo(e/6,c/2);b.end();
b.stroke();b.ellipse(e/6,0,5*e/6,c);b.fillAndStroke()};mxCellRenderer.prototype.defaultShapes.umlBoundary=B;mxUtils.extend(A,mxEllipse);A.prototype.paintVertexShape=function(b,a,d,e,c){mxEllipse.prototype.paintVertexShape.apply(this,arguments);b.begin();b.moveTo(a+e/8,d+c);b.lineTo(a+7*e/8,d+c);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.umlEntity=A;mxUtils.extend(E,mxShape);E.prototype.paintVertexShape=function(b,a,d,e,c){b.translate(a,d);b.begin();b.moveTo(e,0);b.lineTo(0,c);b.moveTo(0,
0);b.lineTo(e,c);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.umlDestroy=E;mxUtils.extend(G,mxShape);G.prototype.getLabelBounds=function(b){return new mxRectangle(b.x,b.y+b.height/8,b.width,7*b.height/8)};G.prototype.paintBackground=function(b,a,d,e,c){b.translate(a,d);b.begin();b.moveTo(3*e/8,1.1*(c/8));b.lineTo(5*e/8,0);b.end();b.stroke();b.ellipse(0,c/8,e,7*c/8);b.fillAndStroke()};G.prototype.paintForeground=function(b,a,d,e,c){b.begin();b.moveTo(3*e/8,1.1*(c/8));b.lineTo(5*e/8,c/
4);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.umlControl=G;mxUtils.extend(H,mxRectangleShape);H.prototype.size=40;H.prototype.isHtmlAllowed=function(){return!1};H.prototype.getLabelBounds=function(b){var a=Math.max(0,Math.min(b.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(b.x,b.y,b.width,a)};H.prototype.paintBackground=function(b,a,d,e,c){var f=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),
g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,b,a,d,e,f):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=H&&(g=new g,g.apply(this.state),b.save(),g.paintVertexShape(b,a,d,e,f),b.restore()));f<c&&(b.setDashed(!0),b.begin(),b.moveTo(a+e/2,d+f),b.lineTo(a+e/2,d+c),b.end(),b.stroke())};H.prototype.paintForeground=function(b,a,d,e,c){var f=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"size",this.size))));
@ -2626,7 +2626,7 @@ d.y<b.getCenterY()&&(e+=1,e*=-1);return new mxPoint(Math.min(b.x+b.width,Math.ma
J;mxUtils.extend(K,mxShape);K.prototype.size=10;K.prototype.inset=2;K.prototype.paintBackground=function(b,a,d,e,c){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;b.translate(a,d);b.begin();b.moveTo(e/2,f+g);b.lineTo(e/2,c);b.end();b.stroke();b.begin();b.moveTo((e-f)/2-g,f/2);b.quadTo((e-f)/2-g,f+g,e/2,f+g);b.quadTo((e+f)/2+g,f+g,(e+f)/2+g,f/2);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.requires=
K;mxUtils.extend(O,mxCylinder);O.prototype.jettyWidth=32;O.prototype.jettyHeight=12;O.prototype.redrawPath=function(b,a,d,e,c,f){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));a=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));d=g/2;var g=d+g/2,k=0.3*c-a/2,l=0.7*c-a/2;f?(b.moveTo(d,k),b.lineTo(g,k),b.lineTo(g,k+a),b.lineTo(d,k+a),b.moveTo(d,l),b.lineTo(g,l),b.lineTo(g,l+a),b.lineTo(d,l+a)):(b.moveTo(d,0),b.lineTo(e,0),b.lineTo(e,c),b.lineTo(d,c),
b.lineTo(d,l+a),b.lineTo(0,l+a),b.lineTo(0,l),b.lineTo(d,l),b.lineTo(d,k+a),b.lineTo(0,k+a),b.lineTo(0,k),b.lineTo(d,k),b.close());b.end()};mxCellRenderer.prototype.defaultShapes.component=O;mxUtils.extend(U,mxDoubleEllipse);U.prototype.outerStroke=!0;U.prototype.paintVertexShape=function(b,a,d,e,c){var f=Math.min(4,Math.min(e/5,c/5));0<e&&0<c&&(b.ellipse(a+f,d+f,e-2*f,c-2*f),b.fillAndStroke());b.setShadow(!1);this.outerStroke&&(b.ellipse(a,d,e,c),b.stroke())};mxCellRenderer.prototype.defaultShapes.endState=
U;mxUtils.extend(W,U);W.prototype.outerStroke=!1;mxCellRenderer.prototype.defaultShapes.startState=W;mxUtils.extend(B,mxArrowConnector);B.prototype.defaultWidth=4;B.prototype.isOpenEnded=function(){return!0};B.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};B.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.prototype.defaultShapes.link=B;mxUtils.extend(D,mxArrowConnector);D.prototype.defaultWidth=
U;mxUtils.extend(W,U);W.prototype.outerStroke=!1;mxCellRenderer.prototype.defaultShapes.startState=W;mxUtils.extend(C,mxArrowConnector);C.prototype.defaultWidth=4;C.prototype.isOpenEnded=function(){return!0};C.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};C.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.prototype.defaultShapes.link=C;mxUtils.extend(D,mxArrowConnector);D.prototype.defaultWidth=
10;D.prototype.defaultArrowWidth=20;D.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};D.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};D.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.prototype.defaultShapes.flexArrow=D;mxUtils.extend(Q,
mxActor);Q.prototype.size=30;Q.prototype.redrawPath=function(b,a,d,e,c){a=Math.min(c,parseFloat(mxUtils.getValue(this.style,"size",this.size)));d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,c),new mxPoint(0,a),new mxPoint(e,0),new mxPoint(e,c)],this.isRounded,d,!0);b.end()};mxCellRenderer.prototype.defaultShapes.manualInput=Q;mxUtils.extend(P,mxRectangleShape);P.prototype.dx=20;P.prototype.dy=20;P.prototype.isHtmlAllowed=function(){return!1};
P.prototype.paintForeground=function(b,a,d,e,c){mxRectangleShape.prototype.paintForeground.apply(this,arguments);var f=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.max(f,Math.min(e*g,c*g));g=Math.max(f,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));f=Math.max(f,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));b.begin();b.moveTo(a,d+f);b.lineTo(a+e,d+f);b.end();b.stroke();
@ -2878,7 +2878,7 @@ l.style.margin="0px";this.addArrow(l);l.style.width="192px";l.style.height="15px
")");var n=this.editorUi.toolbar.addItems(["vertical"],k,!0)[0];mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(k);this.styleButtons(m);this.styleButtons([n]);var p=e.cloneNode(!1);p.style.marginLeft="-3px";p.style.paddingBottom="0px";var r=this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"),d.cellEditor.isContentEditing()?function(){document.execCommand("justifyleft",!1,null)}:this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_LEFT]),p),
s=this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),d.cellEditor.isContentEditing()?function(){document.execCommand("justifycenter",!1,null)}:this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_CENTER]),p),q=this.editorUi.toolbar.addButton("geSprite-right",mxResources.get("right"),d.cellEditor.isContentEditing()?function(){document.execCommand("justifyright",!1,null)}:this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],
[mxConstants.ALIGN_RIGHT]),p);this.styleButtons([r,s,q]);if(d.cellEditor.isContentEditing()){var t=this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("removeFormat"),function(){document.execCommand("removeformat",!1,null)},k);this.styleButtons([t])}var v=this.editorUi.toolbar.addButton("geSprite-top",mxResources.get("top"),this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_TOP]),p),u=this.editorUi.toolbar.addButton("geSprite-middle",
mxResources.get("middle"),this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_MIDDLE]),p),z=this.editorUi.toolbar.addButton("geSprite-bottom",mxResources.get("bottom"),this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_BOTTOM]),p);this.styleButtons([v,u,z]);mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(p);var x,y,F,C,A,E,G;d.cellEditor.isContentEditing()?(v.style.display="none",u.style.display="none",
mxResources.get("middle"),this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_MIDDLE]),p),z=this.editorUi.toolbar.addButton("geSprite-bottom",mxResources.get("bottom"),this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_BOTTOM]),p);this.styleButtons([v,u,z]);mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(p);var x,y,F,B,A,E,G;d.cellEditor.isContentEditing()?(v.style.display="none",u.style.display="none",
z.style.display="none",n.style.display="none",F=this.editorUi.toolbar.addButton("geSprite-justifyfull",null,function(){document.execCommand("justifyfull",!1,null)},p),this.styleButtons([F,x=this.editorUi.toolbar.addButton("geSprite-subscript",mxResources.get("subscript")+" (Ctrl+,)",function(){document.execCommand("subscript",!1,null)},p),y=this.editorUi.toolbar.addButton("geSprite-superscript",mxResources.get("superscript")+" (Ctrl+.)",function(){document.execCommand("superscript",!1,null)},p)]),
F.style.marginRight="9px",t=p.cloneNode(!1),t.style.paddingTop="4px",p=[this.editorUi.toolbar.addButton("geSprite-orderedlist",mxResources.get("numberedList"),function(){document.execCommand("insertorderedlist",!1,null)},t),this.editorUi.toolbar.addButton("geSprite-unorderedlist",mxResources.get("bulletedList"),function(){document.execCommand("insertunorderedlist",!1,null)},t),this.editorUi.toolbar.addButton("geSprite-outdent",mxResources.get("decreaseIndent"),function(){document.execCommand("outdent",
!1,null)},t),this.editorUi.toolbar.addButton("geSprite-indent",mxResources.get("increaseIndent"),function(){document.execCommand("indent",!1,null)},t),this.editorUi.toolbar.addButton("geSprite-code",mxResources.get("html"),function(){d.cellEditor.toggleViewMode()},t)],this.styleButtons(p),p[p.length-1].style.marginLeft="9px",mxClient.IS_QUIRKS&&(mxUtils.br(a),t.style.height="40"),a.appendChild(t)):(m[2].style.marginRight="9px",q.style.marginRight="9px");p=e.cloneNode(!1);p.style.marginLeft="0px";
@ -2887,8 +2887,8 @@ mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM],topRight:[mxConstants.ALIGN_R
mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP],bottom:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP],bottomRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP]},t=0;t<I.length;t++){var K=document.createElement("option");K.setAttribute("value",I[t]);mxUtils.write(K,mxResources.get(I[t]));H.appendChild(K)}p.appendChild(H);I=e.cloneNode(!1);I.style.marginLeft="0px";I.style.paddingTop=
"4px";I.style.paddingBottom="4px";I.style.fontWeight="normal";mxUtils.write(I,mxResources.get("writingDirection"));var O=document.createElement("select");O.style.position="absolute";O.style.right="20px";O.style.width="97px";O.style.marginTop="-2px";for(var K=["automatic","leftToRight","rightToLeft"],U={automatic:null,leftToRight:mxConstants.TEXT_DIRECTION_LTR,rightToLeft:mxConstants.TEXT_DIRECTION_RTL},t=0;t<K.length;t++){var W=document.createElement("option");W.setAttribute("value",K[t]);mxUtils.write(W,
mxResources.get(K[t]));O.appendChild(W)}I.appendChild(O);d.isEditing()||(a.appendChild(p),mxEvent.addListener(H,"change",function(b){d.getModel().beginUpdate();try{var a=J[H.value];null!=a&&(d.setCellStyles(mxConstants.STYLE_LABEL_POSITION,a[0],d.getSelectionCells()),d.setCellStyles(mxConstants.STYLE_VERTICAL_LABEL_POSITION,a[1],d.getSelectionCells()),d.setCellStyles(mxConstants.STYLE_ALIGN,a[2],d.getSelectionCells()),d.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN,a[3],d.getSelectionCells()))}finally{d.getModel().endUpdate()}mxEvent.consume(b)}),
a.appendChild(I),mxEvent.addListener(O,"change",function(b){d.setCellStyles(mxConstants.STYLE_TEXT_DIRECTION,U[O.value],d.getSelectionCells());mxEvent.consume(b)}));var B=document.createElement("input");B.style.textAlign="right";B.style.marginTop="4px";mxClient.IS_QUIRKS||(B.style.position="absolute",B.style.right="32px");B.style.width="46px";B.style.height=mxClient.IS_QUIRKS?"21px":"17px";k.appendChild(B);var D=null,p=this.installInputHandler(B,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize,
1,999," pt",function(b){D=b;document.execCommand("fontSize",!1,"4");b=d.cellEditor.textarea.getElementsByTagName("font");for(var a=0;a<b.length;a++)if("4"==b[a].getAttribute("size")){b[a].removeAttribute("size");b[a].style.fontSize=D+"px";window.setTimeout(function(){B.value=D+" pt";D=null},0);break}},!0),p=this.createStepper(B,p,1,10,!0,Menus.prototype.defaultFontSize);p.style.display=B.style.display;p.style.marginTop="4px";mxClient.IS_QUIRKS||(p.style.right="20px");k.appendChild(p);k=l.getElementsByTagName("div")[0];
a.appendChild(I),mxEvent.addListener(O,"change",function(b){d.setCellStyles(mxConstants.STYLE_TEXT_DIRECTION,U[O.value],d.getSelectionCells());mxEvent.consume(b)}));var C=document.createElement("input");C.style.textAlign="right";C.style.marginTop="4px";mxClient.IS_QUIRKS||(C.style.position="absolute",C.style.right="32px");C.style.width="46px";C.style.height=mxClient.IS_QUIRKS?"21px":"17px";k.appendChild(C);var D=null,p=this.installInputHandler(C,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize,
1,999," pt",function(b){D=b;document.execCommand("fontSize",!1,"4");b=d.cellEditor.textarea.getElementsByTagName("font");for(var a=0;a<b.length;a++)if("4"==b[a].getAttribute("size")){b[a].removeAttribute("size");b[a].style.fontSize=D+"px";window.setTimeout(function(){C.value=D+" pt";D=null},0);break}},!0),p=this.createStepper(C,p,1,10,!0,Menus.prototype.defaultFontSize);p.style.display=C.style.display;p.style.marginTop="4px";mxClient.IS_QUIRKS||(p.style.right="20px");k.appendChild(p);k=l.getElementsByTagName("div")[0];
k.style.cssFloat="right";var Q=null,P="#ffffff",N=null,V="#000000",L=d.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("backgroundColor"),function(){return P},function(b){document.execCommand("backcolor",!1,b!=mxConstants.NONE?b:"transparent")},"#ffffff",{install:function(b){Q=b},destroy:function(){Q=null}},null,!0):this.createCellColorOption(mxResources.get("backgroundColor"),mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"#ffffff");L.style.fontWeight="bold";var M=this.createCellColorOption(mxResources.get("borderColor"),
mxConstants.STYLE_LABEL_BORDERCOLOR,"#000000");M.style.fontWeight="bold";k=d.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("fontColor"),function(){return V},function(b){document.execCommand("forecolor",!1,b!=mxConstants.NONE?b:"transparent")},"#000000",{install:function(b){N=b},destroy:function(){N=null}},null,!0):this.createCellColorOption(mxResources.get("fontColor"),mxConstants.STYLE_FONTCOLOR,"#000000",function(b){L.style.display=null==b||b==mxConstants.NONE?"none":"";M.style.display=
L.style.display},function(b){null==b||b==mxConstants.NONE?d.setCellStyles(mxConstants.STYLE_NOLABEL,"1",d.getSelectionCells()):d.setCellStyles(mxConstants.STYLE_NOLABEL,null,d.getSelectionCells())});k.style.fontWeight="bold";g.appendChild(k);g.appendChild(L);d.cellEditor.isContentEditing()||g.appendChild(M);a.appendChild(g);g=this.createPanel();g.style.paddingTop="2px";g.style.paddingBottom="4px";k=this.createCellOption(mxResources.get("wordWrap"),mxConstants.STYLE_WHITE_SPACE,null,"wrap","null",
@ -2904,15 +2904,15 @@ g.style.paddingTop="10px";g.style.paddingBottom="10px";g.appendChild(this.create
("0"+Number(d).toString(16)).substr(-2)+("0"+Number(e).toString(16)).substr(-2)});this.editorUi.pickColor(b,function(b){null==b||b==mxConstants.NONE?(A.removeAttribute("border"),A.style.border="",A.style.borderCollapse=""):(A.setAttribute("border","1"),A.style.border="1px solid "+b,A.style.borderCollapse="collapse")})}}),e),this.editorUi.toolbar.addButton("geSprite-fillcolor",mxResources.get("backgroundColor"),mxUtils.bind(this,function(){if(null!=A){var b=A.style.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,
function(b,a,d,e){return"#"+("0"+Number(a).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)+("0"+Number(e).toString(16)).substr(-2)});this.editorUi.pickColor(b,function(b){A.style.backgroundColor=null==b||b==mxConstants.NONE?"":b})}}),e),this.editorUi.toolbar.addButton("geSprite-fit",mxResources.get("spacing"),function(){if(null!=A){var b=A.getAttribute("cellPadding")||0,b=new FilenameDialog(f,b,mxResources.get("apply"),mxUtils.bind(this,function(b){null!=b&&0<b.length?A.setAttribute("cellPadding",
b):A.removeAttribute("cellPadding")}),mxResources.get("spacing"));f.showDialog(b.container,300,80,!0,!0);b.init()}},e),this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"),function(){null!=A&&A.setAttribute("align","left")},e),this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),function(){null!=A&&A.setAttribute("align","center")},e),this.editorUi.toolbar.addButton("geSprite-right",mxResources.get("right"),function(){null!=A&&A.setAttribute("align","right")},
e)];this.styleButtons(p);p[2].style.marginRight="9px";mxClient.IS_QUIRKS&&(mxUtils.br(g),mxUtils.br(g));g.appendChild(e);a.appendChild(g);C=g}else a.appendChild(g),a.appendChild(this.createRelativeOption(mxResources.get("opacity"),mxConstants.STYLE_TEXT_OPACITY)),a.appendChild(k);var fa=mxUtils.bind(this,function(a,d,e){b=this.format.getSelectionState();a=mxUtils.getValue(b.style,mxConstants.STYLE_FONTSTYLE,0);c(m[0],(a&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD);c(m[1],(a&mxConstants.FONT_ITALIC)==
mxConstants.FONT_ITALIC);c(m[2],(a&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE);l.firstChild.nodeValue=mxUtils.htmlEntities(mxUtils.getValue(b.style,mxConstants.STYLE_FONTFAMILY,Menus.prototype.defaultFont));c(n,"0"==mxUtils.getValue(b.style,mxConstants.STYLE_HORIZONTAL,"1"));if(e||document.activeElement!=B)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize)),B.value=isNaN(a)?"":a+" pt";a=mxUtils.getValue(b.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);
e)];this.styleButtons(p);p[2].style.marginRight="9px";mxClient.IS_QUIRKS&&(mxUtils.br(g),mxUtils.br(g));g.appendChild(e);a.appendChild(g);B=g}else a.appendChild(g),a.appendChild(this.createRelativeOption(mxResources.get("opacity"),mxConstants.STYLE_TEXT_OPACITY)),a.appendChild(k);var fa=mxUtils.bind(this,function(a,d,e){b=this.format.getSelectionState();a=mxUtils.getValue(b.style,mxConstants.STYLE_FONTSTYLE,0);c(m[0],(a&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD);c(m[1],(a&mxConstants.FONT_ITALIC)==
mxConstants.FONT_ITALIC);c(m[2],(a&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE);l.firstChild.nodeValue=mxUtils.htmlEntities(mxUtils.getValue(b.style,mxConstants.STYLE_FONTFAMILY,Menus.prototype.defaultFont));c(n,"0"==mxUtils.getValue(b.style,mxConstants.STYLE_HORIZONTAL,"1"));if(e||document.activeElement!=C)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize)),C.value=isNaN(a)?"":a+" pt";a=mxUtils.getValue(b.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);
c(r,a==mxConstants.ALIGN_LEFT);c(s,a==mxConstants.ALIGN_CENTER);c(q,a==mxConstants.ALIGN_RIGHT);a=mxUtils.getValue(b.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);c(v,a==mxConstants.ALIGN_TOP);c(u,a==mxConstants.ALIGN_MIDDLE);c(z,a==mxConstants.ALIGN_BOTTOM);a=mxUtils.getValue(b.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);d=mxUtils.getValue(b.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);H.value=a==mxConstants.ALIGN_LEFT&&d==mxConstants.ALIGN_TOP?
"topLeft":a==mxConstants.ALIGN_CENTER&&d==mxConstants.ALIGN_TOP?"top":a==mxConstants.ALIGN_RIGHT&&d==mxConstants.ALIGN_TOP?"topRight":a==mxConstants.ALIGN_LEFT&&d==mxConstants.ALIGN_BOTTOM?"bottomLeft":a==mxConstants.ALIGN_CENTER&&d==mxConstants.ALIGN_BOTTOM?"bottom":a==mxConstants.ALIGN_RIGHT&&d==mxConstants.ALIGN_BOTTOM?"bottomRight":a==mxConstants.ALIGN_LEFT?"left":a==mxConstants.ALIGN_RIGHT?"right":"center";a=mxUtils.getValue(b.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);
a==mxConstants.TEXT_DIRECTION_RTL?O.value="rightToLeft":a==mxConstants.TEXT_DIRECTION_LTR?O.value="leftToRight":a==mxConstants.TEXT_DIRECTION_AUTO&&(O.value="automatic");if(e||document.activeElement!=ba)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_SPACING,2)),ba.value=isNaN(a)?"":a+" pt";if(e||document.activeElement!=Z)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_SPACING_TOP,0)),Z.value=isNaN(a)?"":a+" pt";if(e||document.activeElement!=ia)a=parseFloat(mxUtils.getValue(b.style,
mxConstants.STYLE_SPACING_RIGHT,0)),ia.value=isNaN(a)?"":a+" pt";if(e||document.activeElement!=T)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_SPACING_BOTTOM,0)),T.value=isNaN(a)?"":a+" pt";if(e||document.activeElement!=Y)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_SPACING_LEFT,0)),Y.value=isNaN(a)?"":a+" pt"});X=this.installInputHandler(ba,mxConstants.STYLE_SPACING,2,-999,999," pt");R=this.installInputHandler(Z,mxConstants.STYLE_SPACING_TOP,0,-999,999," pt");S=this.installInputHandler(ia,
mxConstants.STYLE_SPACING_RIGHT,0,-999,999," pt");ca=this.installInputHandler(T,mxConstants.STYLE_SPACING_BOTTOM,0,-999,999," pt");da=this.installInputHandler(Y,mxConstants.STYLE_SPACING_LEFT,0,-999,999," pt");this.addKeyHandler(B,fa);this.addKeyHandler(ba,fa);this.addKeyHandler(Z,fa);this.addKeyHandler(ia,fa);this.addKeyHandler(T,fa);this.addKeyHandler(Y,fa);d.getModel().addListener(mxEvent.CHANGE,fa);this.listeners.push({destroy:function(){d.getModel().removeListener(fa)}});fa();if(d.cellEditor.isContentEditing()){var ja=
mxConstants.STYLE_SPACING_RIGHT,0,-999,999," pt");ca=this.installInputHandler(T,mxConstants.STYLE_SPACING_BOTTOM,0,-999,999," pt");da=this.installInputHandler(Y,mxConstants.STYLE_SPACING_LEFT,0,-999,999," pt");this.addKeyHandler(C,fa);this.addKeyHandler(ba,fa);this.addKeyHandler(Z,fa);this.addKeyHandler(ia,fa);this.addKeyHandler(T,fa);this.addKeyHandler(Y,fa);d.getModel().addListener(mxEvent.CHANGE,fa);this.listeners.push({destroy:function(){d.getModel().removeListener(fa)}});fa();if(d.cellEditor.isContentEditing()){var ja=
!1,e=function(){ja||(ja=!0,window.setTimeout(function(){for(var b=d.getSelectedElement();null!=b&&b.nodeType!=mxConstants.NODETYPE_ELEMENT;)b=b.parentNode;if(null!=b){var a=mxUtils.getCurrentStyle(b);if(null!=a){c(m[0],"bold"==a.fontWeight||null!=d.getParentByName(b,"B",d.cellEditor.textarea));c(m[1],"italic"==a.fontStyle||null!=d.getParentByName(b,"I",d.cellEditor.textarea));c(m[2],null!=d.getParentByName(b,"U",d.cellEditor.textarea));c(r,"left"==a.textAlign);c(s,"center"==a.textAlign);c(q,"right"==
a.textAlign);c(F,"justify"==a.textAlign);c(y,null!=d.getParentByName(b,"SUP",d.cellEditor.textarea));c(x,null!=d.getParentByName(b,"SUB",d.cellEditor.textarea));A=d.getParentByName(b,"TABLE",d.cellEditor.textarea);G=null==A?null:d.getParentByName(b,"TR",A);E=null==A?null:d.getParentByName(b,"TD",A);C.style.display=null!=A?"":"none";if(document.activeElement!=B){"FONT"==b.nodeName&&"4"==b.getAttribute("size")&&null!=D?(b.removeAttribute("size"),b.style.fontSize=D+"px",D=null):B.value=parseFloat(a.fontSize)+
a.textAlign);c(F,"justify"==a.textAlign);c(y,null!=d.getParentByName(b,"SUP",d.cellEditor.textarea));c(x,null!=d.getParentByName(b,"SUB",d.cellEditor.textarea));A=d.getParentByName(b,"TABLE",d.cellEditor.textarea);G=null==A?null:d.getParentByName(b,"TR",A);E=null==A?null:d.getParentByName(b,"TD",A);B.style.display=null!=A?"":"none";if(document.activeElement!=C){"FONT"==b.nodeName&&"4"==b.getAttribute("size")&&null!=D?(b.removeAttribute("size"),b.style.fontSize=D+"px",D=null):C.value=parseFloat(a.fontSize)+
" pt";var b=b.style.lineHeight||a.lineHeight,e=parseFloat(b);"px"==b.substring(b.length-2)&&(e/=parseFloat(a.fontSize));"%"!=b.substring(b.length-1)&&(e*=100);aa.value=e+" %"}b=a.color.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(b,a,d,e){return"#"+("0"+Number(a).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)+("0"+Number(e).toString(16)).substr(-2)});e=a.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(b,a,d,e){return"#"+
("0"+Number(a).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)+("0"+Number(e).toString(16)).substr(-2)});null!=N&&(V="#"==b.charAt(0)?b:"#000000",N(V,!0));null!=Q&&(P="#"==e.charAt(0)?e:null,Q(P,!0));null!=l.firstChild&&(a=a.fontFamily,"'"==a.charAt(0)&&(a=a.substring(1)),"'"==a.charAt(a.length-1)&&(a=a.substring(0,a.length-1)),l.firstChild.nodeValue=a)}}ja=!1},0))};mxEvent.addListener(d.cellEditor.textarea,"input",e);mxEvent.addListener(d.cellEditor.textarea,"touchend",e);mxEvent.addListener(d.cellEditor.textarea,
"mouseup",e);mxEvent.addListener(d.cellEditor.textarea,"keyup",e);this.listeners.push({destroy:function(){}});e()}return a};StyleFormatPanel=function(a,c,f){BaseFormatPanel.call(this,a,c,f);this.init()};mxUtils.extend(StyleFormatPanel,BaseFormatPanel);
@ -2952,7 +2952,7 @@ null,!1).setAttribute("title",mxResources.get("classic")),this.editorUi.menus.ed
null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["cross",0],"geIcon geSprite geSprite-startcross",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["circlePlus",0],"geIcon geSprite geSprite-startcircleplus",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["circle",1],"geIcon geSprite geSprite-startcircle",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,
"startFill"],["ERone",0],"geIcon geSprite geSprite-starterone",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERmandOne",0],"geIcon geSprite geSprite-starteronetoone",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERmany",0],"geIcon geSprite geSprite-startermany",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERoneToMany",0],"geIcon geSprite geSprite-starteronetomany",
null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERzeroToOne",1],"geIcon geSprite geSprite-starteroneopt",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-startermanyopt",null,!1)):this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-startblocktrans",null,!1).setAttribute("title",mxResources.get("block"))})),
C=this.editorUi.toolbar.addMenuFunctionInContainer(l,"geSprite-endclassic",mxResources.get("lineend"),!1,mxUtils.bind(this,function(b){if("connector"==e.style.shape||"flexArrow"==e.style.shape)this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.NONE,0],"geIcon geSprite geSprite-noarrow",null,!1).setAttribute("title",mxResources.get("none")),"connector"==e.style.shape?(this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC,
B=this.editorUi.toolbar.addMenuFunctionInContainer(l,"geSprite-endclassic",mxResources.get("lineend"),!1,mxUtils.bind(this,function(b){if("connector"==e.style.shape||"flexArrow"==e.style.shape)this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.NONE,0],"geIcon geSprite geSprite-noarrow",null,!1).setAttribute("title",mxResources.get("none")),"connector"==e.style.shape?(this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC,
1],"geIcon geSprite geSprite-endclassic",null,!1).setAttribute("title",mxResources.get("classic")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC_THIN,1],"geIcon geSprite geSprite-endclassicthin",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OPEN,0],"geIcon geSprite geSprite-endopen",null,!1).setAttribute("title",mxResources.get("openArrow")),this.editorUi.menus.edgeStyleChange(b,
"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OPEN_THIN,0],"geIcon geSprite geSprite-endopenthin",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["openAsync",0],"geIcon geSprite geSprite-endopenasync",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK,1],"geIcon geSprite geSprite-endblock",null,!1).setAttribute("title",mxResources.get("block")),this.editorUi.menus.edgeStyleChange(b,
"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK_THIN,1],"geIcon geSprite geSprite-endblockthin",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["async",1],"geIcon geSprite geSprite-endasync",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OVAL,1],"geIcon geSprite geSprite-endoval",null,!1).setAttribute("title",mxResources.get("oval")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,
@ -2963,19 +2963,19 @@ null,!1).setAttribute("title",mxResources.get("classic")),this.editorUi.menus.ed
this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["cross",0],"geIcon geSprite geSprite-endcross",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["circlePlus",0],"geIcon geSprite geSprite-endcircleplus",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["circle",1],"geIcon geSprite geSprite-endcircle",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],
["ERone",0],"geIcon geSprite geSprite-enderone",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmandOne",0],"geIcon geSprite geSprite-enderonetoone",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmany",0],"geIcon geSprite geSprite-endermany",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERoneToMany",0],"geIcon geSprite geSprite-enderonetomany",null,!1),this.editorUi.menus.edgeStyleChange(b,
"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToOne",1],"geIcon geSprite geSprite-enderoneopt",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-endermanyopt",null,!1)):this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}));this.addArrow(t,8);this.addArrow(y);this.addArrow(F);
this.addArrow(C);z=this.addArrow(m,9);z.className="geIcon";z.style.width="84px";x=this.addArrow(n,9);x.className="geIcon";x.style.width="22px";var A=document.createElement("div");A.style.width="85px";A.style.height="1px";A.style.borderBottom="1px solid black";A.style.marginBottom="9px";z.appendChild(A);var E=document.createElement("div");E.style.width="23px";E.style.height="1px";E.style.borderBottom="1px solid black";E.style.marginBottom="9px";x.appendChild(E);m.style.height="15px";n.style.height=
"15px";t.style.height="15px";y.style.height="17px";F.style.marginLeft="3px";F.style.height="17px";C.style.marginLeft="3px";C.style.height="17px";a.appendChild(g);a.appendChild(q);a.appendChild(r);m=r.cloneNode(!1);m.style.paddingBottom="6px";m.style.paddingTop="4px";m.style.fontWeight="normal";n=document.createElement("div");n.style.position="absolute";n.style.marginLeft="3px";n.style.marginBottom="12px";n.style.marginTop="2px";n.style.fontWeight="normal";n.style.width="76px";mxUtils.write(n,mxResources.get("lineend"));
this.addArrow(B);z=this.addArrow(m,9);z.className="geIcon";z.style.width="84px";x=this.addArrow(n,9);x.className="geIcon";x.style.width="22px";var A=document.createElement("div");A.style.width="85px";A.style.height="1px";A.style.borderBottom="1px solid black";A.style.marginBottom="9px";z.appendChild(A);var E=document.createElement("div");E.style.width="23px";E.style.height="1px";E.style.borderBottom="1px solid black";E.style.marginBottom="9px";x.appendChild(E);m.style.height="15px";n.style.height=
"15px";t.style.height="15px";y.style.height="17px";F.style.marginLeft="3px";F.style.height="17px";B.style.marginLeft="3px";B.style.height="17px";a.appendChild(g);a.appendChild(q);a.appendChild(r);m=r.cloneNode(!1);m.style.paddingBottom="6px";m.style.paddingTop="4px";m.style.fontWeight="normal";n=document.createElement("div");n.style.position="absolute";n.style.marginLeft="3px";n.style.marginBottom="12px";n.style.marginTop="2px";n.style.fontWeight="normal";n.style.width="76px";mxUtils.write(n,mxResources.get("lineend"));
m.appendChild(n);var G,H,I=this.addUnitInput(m,"pt",74,33,function(){G.apply(this,arguments)}),J=this.addUnitInput(m,"pt",20,33,function(){H.apply(this,arguments)});mxUtils.br(m);z=document.createElement("div");z.style.height="8px";m.appendChild(z);n=n.cloneNode(!1);mxUtils.write(n,mxResources.get("linestart"));m.appendChild(n);var K,O,U=this.addUnitInput(m,"pt",74,33,function(){K.apply(this,arguments)}),W=this.addUnitInput(m,"pt",20,33,function(){O.apply(this,arguments)});mxUtils.br(m);this.addLabel(m,
mxResources.get("spacing"),74,50);this.addLabel(m,mxResources.get("size"),20,50);mxUtils.br(m);g=g.cloneNode(!1);g.style.fontWeight="normal";g.style.position="relative";g.style.paddingLeft="16px";g.style.marginBottom="2px";g.style.marginTop="6px";g.style.borderWidth="0px";g.style.paddingBottom="18px";n=document.createElement("div");n.style.position="absolute";n.style.marginLeft="3px";n.style.marginBottom="12px";n.style.marginTop="1px";n.style.fontWeight="normal";n.style.width="120px";mxUtils.write(n,
mxResources.get("perimeter"));g.appendChild(n);var B,D=this.addUnitInput(g,"pt",20,41,function(){B.apply(this,arguments)});e.edges.length==b.getSelectionCount()?(a.appendChild(l),mxClient.IS_QUIRKS&&(mxUtils.br(a),mxUtils.br(a)),a.appendChild(m)):e.vertices.length==b.getSelectionCount()&&(mxClient.IS_QUIRKS&&mxUtils.br(a),a.appendChild(g));var Q=mxUtils.bind(this,function(a,c,f){function g(b,a,c,f){c=c.getElementsByTagName("div")[0];c.className=d.getCssClassForMarker(f,e.style.shape,b,a);return c}
mxResources.get("perimeter"));g.appendChild(n);var C,D=this.addUnitInput(g,"pt",20,41,function(){C.apply(this,arguments)});e.edges.length==b.getSelectionCount()?(a.appendChild(l),mxClient.IS_QUIRKS&&(mxUtils.br(a),mxUtils.br(a)),a.appendChild(m)):e.vertices.length==b.getSelectionCount()&&(mxClient.IS_QUIRKS&&mxUtils.br(a),a.appendChild(g));var Q=mxUtils.bind(this,function(a,c,f){function g(b,a,c,f){c=c.getElementsByTagName("div")[0];c.className=d.getCssClassForMarker(f,e.style.shape,b,a);return c}
e=this.format.getSelectionState();mxUtils.getValue(e.style,p,null);if(f||document.activeElement!=v)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),v.value=isNaN(a)?"":a+" pt";if(f||document.activeElement!=u)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),u.value=isNaN(a)?"":a+" pt";k.style.visibility="connector"==e.style.shape?"":"hidden";"1"==mxUtils.getValue(e.style,mxConstants.STYLE_CURVED,null)?k.value="curved":"1"==mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,
null)&&(k.value="rounded");"1"==mxUtils.getValue(e.style,mxConstants.STYLE_DASHED,null)?null==mxUtils.getValue(e.style,mxConstants.STYLE_DASH_PATTERN,null)?A.style.borderBottom="1px dashed black":A.style.borderBottom="1px dotted black":A.style.borderBottom="1px solid black";E.style.borderBottom=A.style.borderBottom;a=y.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";t.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==b.getSelectionCount()?(q.style.display="",r.style.display="none"):(q.style.display="none",r.style.display="");a=g(mxUtils.getValue(e.style,mxConstants.STYLE_STARTARROW,null),mxUtils.getValue(e.style,
"startFill","1"),F,"start");c=g(mxUtils.getValue(e.style,mxConstants.STYLE_ENDARROW,null),mxUtils.getValue(e.style,"endFill","1"),C,"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(y,"arrow"==e.style.shape?30:100);"connector"!=e.style.shape&&"flexArrow"!=e.style.shape?(mxUtils.setOpacity(F,30),mxUtils.setOpacity(C,
30)):(mxUtils.setOpacity(F,100),mxUtils.setOpacity(C,100));if(f||document.activeElement!=W)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)),W.value=isNaN(a)?"":a+" pt";if(f||document.activeElement!=U)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0)),U.value=isNaN(a)?"":a+" pt";if(f||document.activeElement!=J)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE)),J.value=isNaN(a)?
"startFill","1"),F,"start");c=g(mxUtils.getValue(e.style,mxConstants.STYLE_ENDARROW,null),mxUtils.getValue(e.style,"endFill","1"),B,"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(y,"arrow"==e.style.shape?30:100);"connector"!=e.style.shape&&"flexArrow"!=e.style.shape?(mxUtils.setOpacity(F,30),mxUtils.setOpacity(B,
30)):(mxUtils.setOpacity(F,100),mxUtils.setOpacity(B,100));if(f||document.activeElement!=W)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)),W.value=isNaN(a)?"":a+" pt";if(f||document.activeElement!=U)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0)),U.value=isNaN(a)?"":a+" pt";if(f||document.activeElement!=J)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE)),J.value=isNaN(a)?
"":a+" pt";if(f||document.activeElement!=U)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0)),I.value=isNaN(a)?"":a+" pt";if(f||document.activeElement!=D)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_PERIMETER_SPACING,0)),D.value=isNaN(a)?"":a+" pt"});O=this.installInputHandler(W,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");K=this.installInputHandler(U,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0,-999,999," pt");H=this.installInputHandler(J,
mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");G=this.installInputHandler(I,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0,-999,999," pt");B=this.installInputHandler(D,mxConstants.STYLE_PERIMETER_SPACING,0,0,999," pt");this.addKeyHandler(v,Q);this.addKeyHandler(W,Q);this.addKeyHandler(U,Q);this.addKeyHandler(J,Q);this.addKeyHandler(I,Q);this.addKeyHandler(D,Q);b.getModel().addListener(mxEvent.CHANGE,Q);this.listeners.push({destroy:function(){b.getModel().removeListener(Q)}});
mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");G=this.installInputHandler(I,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0,-999,999," pt");C=this.installInputHandler(D,mxConstants.STYLE_PERIMETER_SPACING,0,0,999," pt");this.addKeyHandler(v,Q);this.addKeyHandler(W,Q);this.addKeyHandler(U,Q);this.addKeyHandler(J,Q);this.addKeyHandler(I,Q);this.addKeyHandler(D,Q);b.getModel().addListener(mxEvent.CHANGE,Q);this.listeners.push({destroy:function(){b.getModel().removeListener(Q)}});
Q();return a};
StyleFormatPanel.prototype.addEffects=function(a){var c=this.editorUi.editor.graph,f=this.format.getSelectionState();a.style.paddingTop="0px";a.style.paddingBottom="2px";var d=document.createElement("table");mxClient.IS_QUIRKS&&(d.style.fontSize="1em");d.style.width="100%";d.style.fontWeight="bold";d.style.paddingRight="20px";var b=document.createElement("tbody"),e=document.createElement("tr");e.style.padding="0px";var g=document.createElement("td");g.style.padding="0px";g.style.width="50%";g.setAttribute("valign",
"top");var k=g.cloneNode(!0);k.style.paddingLeft="8px";e.appendChild(g);e.appendChild(k);b.appendChild(e);d.appendChild(b);a.appendChild(d);var l=g,m=0,n=mxUtils.bind(this,function(b,a,d){b=this.createCellOption(b,a,d);b.style.width="100%";l.appendChild(b);l=l==g?k:g;m++}),p=mxUtils.bind(this,function(b,d,e){f=this.format.getSelectionState();g.innerHTML="";k.innerHTML="";l=g;f.rounded&&n(mxResources.get("rounded"),mxConstants.STYLE_ROUNDED,0);"swimlane"==f.style.shape&&n(mxResources.get("divider"),
@ -3050,14 +3050,15 @@ Dialog.prototype.lockedImage=!mxClient.IS_SVG?IMAGE_PATH+"/locked.png":"data:ima
Dialog.prototype.unlockedImage=!mxClient.IS_SVG?IMAGE_PATH+"/unlocked.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzdDMDZCN0QxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzdDMDZCN0UxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozN0MwNkI3QjE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozN0MwNkI3QzE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkKMpVwAAAAYUExURZmZmbKysr+/v6ysrOXl5czMzLGxsf///zHN5lwAAAAIdFJOU/////////8A3oO9WQAAADxJREFUeNpUzFESACAEBNBVsfe/cZJU+8Mzs8CIABCidtfGOndnYsT40HDSiCcbPdoJo10o9aI677cpwACRoAF3dFNlswAAAABJRU5ErkJggg\x3d\x3d";
Dialog.prototype.bgOpacity=80;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);this.container.parentNode.removeChild(this.container)};
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,f,d){function b(b,a,d){a=null!=a?a:12;var c=document.createElement("table");c.style.borderCollapse="collapse";c.setAttribute("cellspacing","0");c.style.marginBottom="20px";c.style.cellSpacing="0px";var f=document.createElement("tbody");c.appendChild(f);for(var k=b.length/a,m=0;m<k;m++){for(var n=document.createElement("tr"),p=0;p<a;p++)(function(b){var a=document.createElement("td");a.style.border="1px solid black";a.style.padding="0px";a.style.width="16px";a.style.height="16px";null==
b&&(b=d);"none"==b?a.style.background="url('"+Dialog.prototype.noColorImage+"')":a.style.backgroundColor="#"+b;n.appendChild(a);null!=b&&(a.style.cursor="pointer",mxEvent.addListener(a,"click",function(){"none"==b?(g.fromString("ffffff"),e.value="none"):g.fromString(b)}))})(b[m*a+p]);f.appendChild(n)}l.appendChild(c);return c}this.editorUi=a;var e=document.createElement("input");e.style.marginBottom="10px";e.style.width="216px";mxClient.IS_IE&&(e.style.marginTop="10px",document.body.appendChild(e));
this.init=function(){mxClient.IS_TOUCH||e.focus()};var g=new jscolor.color(e);g.pickerOnfocus=!1;g.showPicker();var k=document.createElement("div");jscolor.picker.box.style.position="relative";jscolor.picker.box.style.width="230px";jscolor.picker.box.style.height="100px";jscolor.picker.box.style.paddingBottom="10px";k.appendChild(jscolor.picker.box);var l=document.createElement("center");k.appendChild(e);mxUtils.br(k);var m=b(0==ColorDialog.recentColors.length?["FFFFFF"]:ColorDialog.recentColors,
12,"FFFFFF");m.style.marginBottom="8px";m=b("E6D0DE CDA2BE B5739D E1D5E7 C3ABD0 A680B8 D4E1F5 A9C4EB 7EA6E0 D5E8D4 9AC7BF 67AB9F D5E8D4 B9E0A5 97D077 FFF2CC FFE599 FFD966 FFF4C3 FFCE9F FFB570 F8CECC F19C99 EA6B66".split(" "),12);m.style.marginBottom="8px";m=b("none FFFFFF E6E6E6 CCCCCC B3B3B3 999999 808080 666666 4D4D4D 333333 1A1A1A 000000 FFCCCC FFE6CC FFFFCC E6FFCC CCFFCC CCFFE6 CCFFFF CCE5FF CCCCFF E5CCFF FFCCFF FFCCE6 FF9999 FFCC99 FFFF99 CCFF99 99FF99 99FFCC 99FFFF 99CCFF 9999FF CC99FF FF99FF FF99CC FF6666 FFB366 FFFF66 B3FF66 66FF66 66FFB3 66FFFF 66B2FF 6666FF B266FF FF66FF FF66B3 FF3333 FF9933 FFFF33 99FF33 33FF33 33FF99 33FFFF 3399FF 3333FF 9933FF FF33FF FF3399 FF0000 FF8000 FFFF00 80FF00 00FF00 00FF80 00FFFF 007FFF 0000FF 7F00FF FF00FF FF0080 CC0000 CC6600 CCCC00 66CC00 00CC00 00CC66 00CCCC 0066CC 0000CC 6600CC CC00CC CC0066 990000 994C00 999900 4D9900 009900 00994D 009999 004C99 000099 4C0099 990099 99004D 660000 663300 666600 336600 006600 006633 006666 003366 000066 330066 660066 660033 330000 331A00 333300 1A3300 003300 00331A 003333 001933 000033 190033 330033 33001A".split(" "));
m.style.marginBottom="16px";k.appendChild(l);m=document.createElement("div");m.style.textAlign="right";m.style.whiteSpace="nowrap";var n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d()});n.className="geBtn";a.editor.cancelFirst&&m.appendChild(n);var p=null!=f?f:this.createApplyFunction();f=mxUtils.button(mxResources.get("apply"),function(){var b=e.value;ColorDialog.addRecentColor(b,12);"none"!=b&&"#"!=b.charAt(0)&&(b="#"+b);p(b);a.hideDialog()});f.className="geBtn gePrimaryBtn";
m.appendChild(f);a.editor.cancelFirst||m.appendChild(n);null!=c&&("none"==c?(g.fromString("ffffff"),e.value="none"):g.fromString(c));k.appendChild(m);this.picker=g;this.colorInput=e;mxEvent.addListener(k,"keydown",function(b){27==b.keyCode&&(a.hideDialog(),null!=d&&d(),mxEvent.consume(b))});this.container=k};
function(a,c,f,d){function b(){var b=e(0==ColorDialog.recentColors.length?["FFFFFF"]:ColorDialog.recentColors,11,"FFFFFF",!0);b.style.marginBottom="8px";return b}function e(a,d,e,c){d=null!=d?d:12;var f=document.createElement("table");f.style.borderCollapse="collapse";f.setAttribute("cellspacing","0");f.style.marginBottom="20px";f.style.cellSpacing="0px";var l=document.createElement("tbody");f.appendChild(l);for(var n=a.length/d,r=0;r<n;r++){for(var p=document.createElement("tr"),B=0;B<d;B++)(function(b){var a=
document.createElement("td");a.style.border="1px solid black";a.style.padding="0px";a.style.width="16px";a.style.height="16px";null==b&&(b=e);"none"==b?a.style.background="url('"+Dialog.prototype.noColorImage+"')":a.style.backgroundColor="#"+b;p.appendChild(a);null!=b&&(a.style.cursor="pointer",mxEvent.addListener(a,"click",function(){"none"==b?(k.fromString("ffffff"),g.value="none"):k.fromString(b)}))})(a[r*d+B]);l.appendChild(p)}c&&(a=document.createElement("td"),a.setAttribute("title",mxResources.get("reset")),
a.style.border="1px solid black",a.style.padding="0px",a.style.width="16px",a.style.height="16px",a.style.backgroundImage="url('"+Dialog.prototype.closeImage+"')",a.style.backgroundPosition="center center",a.style.backgroundRepeat="no-repeat",a.style.cursor="pointer",p.appendChild(a),mxEvent.addListener(a,"click",function(){ColorDialog.resetRecentColors();f.parentNode.replaceChild(b(),f)}));m.appendChild(f);return f}this.editorUi=a;var g=document.createElement("input");g.style.marginBottom="10px";
g.style.width="216px";mxClient.IS_IE&&(g.style.marginTop="10px",document.body.appendChild(g));this.init=function(){mxClient.IS_TOUCH||g.focus()};var k=new jscolor.color(g);k.pickerOnfocus=!1;k.showPicker();var l=document.createElement("div");jscolor.picker.box.style.position="relative";jscolor.picker.box.style.width="230px";jscolor.picker.box.style.height="100px";jscolor.picker.box.style.paddingBottom="10px";l.appendChild(jscolor.picker.box);var m=document.createElement("center");l.appendChild(g);
mxUtils.br(l);b();var n=e("E6D0DE CDA2BE B5739D E1D5E7 C3ABD0 A680B8 D4E1F5 A9C4EB 7EA6E0 D5E8D4 9AC7BF 67AB9F D5E8D4 B9E0A5 97D077 FFF2CC FFE599 FFD966 FFF4C3 FFCE9F FFB570 F8CECC F19C99 EA6B66".split(" "),12);n.style.marginBottom="8px";n=e("none FFFFFF E6E6E6 CCCCCC B3B3B3 999999 808080 666666 4D4D4D 333333 1A1A1A 000000 FFCCCC FFE6CC FFFFCC E6FFCC CCFFCC CCFFE6 CCFFFF CCE5FF CCCCFF E5CCFF FFCCFF FFCCE6 FF9999 FFCC99 FFFF99 CCFF99 99FF99 99FFCC 99FFFF 99CCFF 9999FF CC99FF FF99FF FF99CC FF6666 FFB366 FFFF66 B3FF66 66FF66 66FFB3 66FFFF 66B2FF 6666FF B266FF FF66FF FF66B3 FF3333 FF9933 FFFF33 99FF33 33FF33 33FF99 33FFFF 3399FF 3333FF 9933FF FF33FF FF3399 FF0000 FF8000 FFFF00 80FF00 00FF00 00FF80 00FFFF 007FFF 0000FF 7F00FF FF00FF FF0080 CC0000 CC6600 CCCC00 66CC00 00CC00 00CC66 00CCCC 0066CC 0000CC 6600CC CC00CC CC0066 990000 994C00 999900 4D9900 009900 00994D 009999 004C99 000099 4C0099 990099 99004D 660000 663300 666600 336600 006600 006633 006666 003366 000066 330066 660066 660033 330000 331A00 333300 1A3300 003300 00331A 003333 001933 000033 190033 330033 33001A".split(" "));
n.style.marginBottom="16px";l.appendChild(m);n=document.createElement("div");n.style.textAlign="right";n.style.whiteSpace="nowrap";var p=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d()});p.className="geBtn";a.editor.cancelFirst&&n.appendChild(p);var r=null!=f?f:this.createApplyFunction();f=mxUtils.button(mxResources.get("apply"),function(){var b=g.value;ColorDialog.addRecentColor(b,12);"none"!=b&&"#"!=b.charAt(0)&&(b="#"+b);r(b);a.hideDialog()});f.className="geBtn gePrimaryBtn";
n.appendChild(f);a.editor.cancelFirst||n.appendChild(p);null!=c&&("none"==c?(k.fromString("ffffff"),g.value="none"):k.fromString(c));l.appendChild(n);this.picker=k;this.colorInput=g;mxEvent.addListener(l,"keydown",function(b){27==b.keyCode&&(a.hideDialog(),null!=d&&d(),mxEvent.consume(b))});this.container=l};
ColorDialog.prototype.createApplyFunction=function(){return mxUtils.bind(this,function(a){var c=this.editorUi.editor.graph;c.getModel().beginUpdate();try{c.setCellStyles(this.currentColorKey,a),this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",[this.currentColorKey],"values",[a],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}})};ColorDialog.recentColors=[];
ColorDialog.addRecentColor=function(a,c){null!=a&&(mxUtils.remove(a,ColorDialog.recentColors),ColorDialog.recentColors.splice(0,0,a),ColorDialog.recentColors.length>c&&ColorDialog.recentColors.pop())};
ColorDialog.addRecentColor=function(a,c){null!=a&&(mxUtils.remove(a,ColorDialog.recentColors),ColorDialog.recentColors.splice(0,0,a),ColorDialog.recentColors.length>c&&ColorDialog.recentColors.pop())};ColorDialog.resetRecentColors=function(){ColorDialog.recentColors=[]};
var AboutDialog=function(a){var c=document.createElement("div");c.setAttribute("align","center");var f=document.createElement("h3");mxUtils.write(f,mxResources.get("about")+" GraphEditor");c.appendChild(f);f=document.createElement("img");f.style.border="0px";f.setAttribute("width","176");f.setAttribute("width","151");f.setAttribute("src",IMAGE_PATH+"/logo.png");c.appendChild(f);mxUtils.br(c);mxUtils.write(c,"Powered by mxGraph "+mxClient.VERSION);mxUtils.br(c);f=document.createElement("a");f.setAttribute("href",
"http://www.jgraph.com/");f.setAttribute("target","_blank");mxUtils.write(f,"www.jgraph.com");c.appendChild(f);mxUtils.br(c);mxUtils.br(c);f=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});f.className="geBtn gePrimaryBtn";c.appendChild(f);this.container=c},PageSetupDialog=function(a){function c(){null==n||n==mxConstants.NONE?(m.style.backgroundColor="",m.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(m.style.backgroundColor=n,m.style.backgroundImage="")}function f(){null==
s?(r.removeAttribute("title"),r.style.fontSize="",r.innerHTML=mxResources.get("change")+"..."):(r.setAttribute("title",s.src),r.style.fontSize="11px",r.innerHTML=s.src.substring(0,42)+"...")}var d=a.editor.graph,b,e,g=document.createElement("table");g.style.width="100%";g.style.height="100%";var k=document.createElement("tbody");b=document.createElement("tr");e=document.createElement("td");e.style.verticalAlign="top";e.style.fontSize="10pt";mxUtils.write(e,mxResources.get("paperSize")+":");b.appendChild(e);
@ -3941,14 +3942,14 @@ new mxGeometry(772,167,8,4),"shape\x3dtriangle;strokeColor\x3dnone;fillColor\x3d
r.vertex=!0;var s=new mxCell("Message Type",new mxGeometry(0,440,200,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");s.vertex=!0;var q=new mxCell("Email + Push",new mxGeometry(0,460,390,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;;fillColor\x3d#ffffff;align\x3dleft;spacingLeft\x3d10;fontSize\x3d16;whiteSpace\x3dwrap;");
q.vertex=!0;var t=new mxCell("",new mxGeometry(370,477,10,5),"shape\x3dtriangle;strokeColor\x3dnone;fillColor\x3d#000000;direction\x3dsouth;");t.vertex=!0;var v=new mxCell("Tap target",new mxGeometry(410,440,200,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");v.vertex=!0;var u=new mxCell("Profile Screen",new mxGeometry(410,460,390,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;;fillColor\x3d#ffffff;align\x3dleft;spacingLeft\x3d10;fontSize\x3d16;whiteSpace\x3dwrap;");
u.vertex=!0;var z=new mxCell("",new mxGeometry(780,477,10,5),"shape\x3dtriangle;strokeColor\x3dnone;fillColor\x3d#000000;direction\x3dsouth;");z.vertex=!0;var x=new mxCell("Send to Group",new mxGeometry(0,520,200,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");x.vertex=!0;var y=new mxCell("Top Management",new mxGeometry(10,543,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;fontSize\x3d12;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d5;");
y.vertex=!0;var F=new mxCell("Marketing Department",new mxGeometry(10,563,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fontSize\x3d12;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d5;");F.vertex=!0;var C=new mxCell("Design Department",new mxGeometry(10,583,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;fontSize\x3d12;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d5;");
C.vertex=!0;var A=new mxCell("Financial Department",new mxGeometry(10,603,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fontSize\x3d12;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d5;");A.vertex=!0;var E=new mxCell("Supply Department",new mxGeometry(10,623,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fontSize\x3d12;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d5;");
y.vertex=!0;var F=new mxCell("Marketing Department",new mxGeometry(10,563,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fontSize\x3d12;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d5;");F.vertex=!0;var B=new mxCell("Design Department",new mxGeometry(10,583,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;fontSize\x3d12;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d5;");
B.vertex=!0;var A=new mxCell("Financial Department",new mxGeometry(10,603,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fontSize\x3d12;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d5;");A.vertex=!0;var E=new mxCell("Supply Department",new mxGeometry(10,623,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fontSize\x3d12;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d5;");
E.vertex=!0;var G=new mxCell("Set Type",new mxGeometry(410,520,200,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");G.vertex=!0;var H=new mxCell("",new mxGeometry(420,543,14,14),"shape\x3dellipse;dashed\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;html\x3d1;");H.vertex=!0;var I=new mxCell("News",new mxGeometry(440,543,40,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#58B957;fontColor\x3d#ffffff;fontStyle\x3d1;fontSize\x3d10;whiteSpace\x3dwrap;");
I.vertex=!0;var J=new mxCell("",new mxGeometry(420,563,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.radioButton;strokeColor\x3d#999999;fillColor\x3d#ffffff;");J.vertex=!0;var K=new mxCell("Reports",new mxGeometry(440,563,50,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#55BFE0;fontColor\x3d#ffffff;fontStyle\x3d1;fontSize\x3d10;whiteSpace\x3dwrap;");K.vertex=!0;var O=new mxCell("",new mxGeometry(420,
583,14,14),"shape\x3dellipse;dashed\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;html\x3d1;");O.vertex=!0;var U=new mxCell("Documents",new mxGeometry(440,583,70,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#EFAC43;fontColor\x3d#ffffff;fontStyle\x3d1;fontSize\x3d10;whiteSpace\x3dwrap;");U.vertex=!0;var W=new mxCell("",new mxGeometry(420,603,14,14),"shape\x3dellipse;dashed\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;html\x3d1;");
W.vertex=!0;var B=new mxCell("Media",new mxGeometry(440,603,40,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#3D8BCD;fontColor\x3d#ffffff;fontStyle\x3d1;fontSize\x3d10;whiteSpace\x3dwrap;");B.vertex=!0;var D=new mxCell("",new mxGeometry(420,623,14,14),"shape\x3dellipse;dashed\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;html\x3d1;");D.vertex=!0;var Q=new mxCell("Text",new mxGeometry(440,623,30,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#999999;fontColor\x3d#ffffff;fontStyle\x3d1;fontSize\x3d10;whiteSpace\x3dwrap;");
W.vertex=!0;var C=new mxCell("Media",new mxGeometry(440,603,40,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#3D8BCD;fontColor\x3d#ffffff;fontStyle\x3d1;fontSize\x3d10;whiteSpace\x3dwrap;");C.vertex=!0;var D=new mxCell("",new mxGeometry(420,623,14,14),"shape\x3dellipse;dashed\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;html\x3d1;");D.vertex=!0;var Q=new mxCell("Text",new mxGeometry(440,623,30,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#999999;fontColor\x3d#ffffff;fontStyle\x3d1;fontSize\x3d10;whiteSpace\x3dwrap;");
Q.vertex=!0;var P=new mxCell("Save Template",new mxGeometry(0,680,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#3D8BCD;fontColor\x3d#ffffff;fontSize\x3d16;whiteSpace\x3dwrap;");P.vertex=!0;var N=new mxCell("Cancel",new mxGeometry(170,680,100,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;align\x3dcenter;rSize\x3d5;strokeColor\x3d#dddddd;fontSize\x3d16;whiteSpace\x3dwrap;");
N.vertex=!0;var V=new mxCell("Delete Template",new mxGeometry(630,680,170,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#DB524C;fontColor\x3d#ffffff;fontSize\x3d16;whiteSpace\x3dwrap;");V.vertex=!0;return a.createVertexTemplateFromCells([c,d,b,e,g,k,l,m,n,p,r,s,q,t,v,u,z,x,y,F,C,A,E,G,H,I,J,K,O,U,W,B,D,Q,P,N,V],800,720,"Edit Template")}),this.addEntry("bootstrap business contact",function(){var c=new mxCell("",new mxGeometry(0,
N.vertex=!0;var V=new mxCell("Delete Template",new mxGeometry(630,680,170,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#DB524C;fontColor\x3d#ffffff;fontSize\x3d16;whiteSpace\x3dwrap;");V.vertex=!0;return a.createVertexTemplateFromCells([c,d,b,e,g,k,l,m,n,p,r,s,q,t,v,u,z,x,y,F,B,A,E,G,H,I,J,K,O,U,W,C,D,Q,P,N,V],800,720,"Edit Template")}),this.addEntry("bootstrap business contact",function(){var c=new mxCell("",new mxGeometry(0,
0,800,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3d#fdfdfd;");c.vertex=!0;var d=new mxCell("2 fields selected",new mxGeometry(0,0.5,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;strokeColor\x3d#dddddd;fillColor\x3dnone;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d10;fontStyle\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(13,-7);d.vertex=!0;c.insert(d);d=new mxCell("Mark as OK",new mxGeometry(0,
0.5,90,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(150,-15);d.vertex=!0;c.insert(d);d=new mxCell("Mark as Violation",new mxGeometry(0,0.5,120,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(250,
-15);d.vertex=!0;c.insert(d);d=new mxCell("Mark all as OK",new mxGeometry(1,0.5,100,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-110,-15);d.vertex=!0;c.insert(d);d=new mxCell("Phone",new mxGeometry(40,70,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");
@ -7087,25 +7088,25 @@ a.type="text/javascript";a.src=/<script.*?src="(.*?)"/.exec(e.value)[1];c.body.a
(r.checked?"\x26layers\x3d1":"")+"');}})(this);\"",c+="cursor:pointer;");k.checked&&(c+="max-width:100%;");var f="";n.checked&&(f=' width\x3d"'+Math.round(d.width)+'" height\x3d"'+Math.round(d.height)+'"');e.value='\x3cimg src\x3d"'+a+'"'+f+(""!=c?' style\x3d"'+c+'"':"")+b+"/\x3e";e.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?e.select():document.execCommand("selectAll",!1,null)};if(a.isExportToCanvas())e.value=mxResources.get("updatingDocument"),a.exportToCanvas(mxUtils.bind(this,
function(b){var c=p.checked?a.getFileData(!0):null;b=a.createPngDataUri(b,c);f(b)}),null,null,null,mxUtils.bind(this,function(b){e.value="";a.handleError({message:mxResources.get("unknownError")})}),null,!0,n.checked?2:1,null,l.checked);else if(b=a.getFileData(!0),d.width*d.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){e.value=mxResources.get("updatingDocument");var g="";n.checked&&(g="\x26w\x3d"+Math.round(2*d.width)+"\x26h\x3d"+Math.round(2*d.height));var s=new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26base64\x3d1\x26embedXml\x3d"+
(p.checked?"1":"0")+g+"\x26xml\x3d"+encodeURIComponent(b));s.send(mxUtils.bind(this,function(){200==s.getStatus()?f("data:image/png;base64,"+s.getText()):(e.value="",a.handleError({message:mxResources.get("unknownError")}))}))}else e.value="",a.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"))}else{b=a.editor.graph.getSvg();g=b.getElementsByTagName("a");if(null!=g)for(var x=0;x<g.length;x++){var y=g[x].getAttribute("href");null!=y&&"#"==y.charAt(0)&&"_blank"==g[x].getAttribute("target")&&
g[x].removeAttribute("target")}p.checked&&b.setAttribute("content",a.getFileData(!0));l.checked&&a.editor.addSvgShadow(b);if(m.checked){var F=" ",C="";p.checked&&(F="onclick\x3d\"(function(img){if(img.wnd!\x3dnull\x26\x26!img.wnd.closed){img.wnd.focus();}else{var r\x3dfunction(evt){if(evt.data\x3d\x3d'ready'\x26\x26evt.source\x3d\x3dimg.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd\x3dwindow.open('https://www.draw.io/?client\x3d1\x26lightbox\x3d1\x26chrome\x3d0\x26edit\x3d_blank"+
(r.checked?"\x26layers\x3d1":"")+"');}})(this);\"",C+="cursor:pointer;");k.checked&&(C+="max-width:100%;");a.convertImages(b,function(b){e.value='\x3cimg src\x3d"'+a.createSvgDataUri(mxUtils.getXml(b))+'"'+(""!=C?' style\x3d"'+C+'"':"")+F+"/\x3e"})}else C="",p.checked&&(b.setAttribute("onclick","(function(svg){var src\x3dwindow.event.target||window.event.srcElement;while (src!\x3dnull\x26\x26src.nodeName.toLowerCase()!\x3d'a'){src\x3dsrc.parentNode;}if(src\x3d\x3dnull){if(svg.wnd!\x3dnull\x26\x26!svg.wnd.closed){svg.wnd.focus();}else{var r\x3dfunction(evt){if(evt.data\x3d\x3d'ready'\x26\x26evt.source\x3d\x3dsvg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd\x3dwindow.open('https://www.draw.io/?client\x3d1\x26lightbox\x3d1\x26chrome\x3d0\x26edit\x3d_blank"+
(r.checked?"\x26layers\x3d1":"")+"');}}})(this);"),C+="cursor:pointer;"),k.checked&&(g=parseInt(b.getAttribute("width")),x=parseInt(b.getAttribute("height")),b.setAttribute("viewBox","0 0 "+g+" "+x),C+="max-width:100%;max-height:"+x+"px;",b.removeAttribute("height")),""!=C&&b.setAttribute("style",C),e.value=mxUtils.getXml(b);e.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?e.select():document.execCommand("selectAll",!1,null)}}a.getCurrentFile();var d=document.createElement("div"),
g[x].removeAttribute("target")}p.checked&&b.setAttribute("content",a.getFileData(!0));l.checked&&a.editor.addSvgShadow(b);if(m.checked){var F=" ",B="";p.checked&&(F="onclick\x3d\"(function(img){if(img.wnd!\x3dnull\x26\x26!img.wnd.closed){img.wnd.focus();}else{var r\x3dfunction(evt){if(evt.data\x3d\x3d'ready'\x26\x26evt.source\x3d\x3dimg.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd\x3dwindow.open('https://www.draw.io/?client\x3d1\x26lightbox\x3d1\x26chrome\x3d0\x26edit\x3d_blank"+
(r.checked?"\x26layers\x3d1":"")+"');}})(this);\"",B+="cursor:pointer;");k.checked&&(B+="max-width:100%;");a.convertImages(b,function(b){e.value='\x3cimg src\x3d"'+a.createSvgDataUri(mxUtils.getXml(b))+'"'+(""!=B?' style\x3d"'+B+'"':"")+F+"/\x3e"})}else B="",p.checked&&(b.setAttribute("onclick","(function(svg){var src\x3dwindow.event.target||window.event.srcElement;while (src!\x3dnull\x26\x26src.nodeName.toLowerCase()!\x3d'a'){src\x3dsrc.parentNode;}if(src\x3d\x3dnull){if(svg.wnd!\x3dnull\x26\x26!svg.wnd.closed){svg.wnd.focus();}else{var r\x3dfunction(evt){if(evt.data\x3d\x3d'ready'\x26\x26evt.source\x3d\x3dsvg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd\x3dwindow.open('https://www.draw.io/?client\x3d1\x26lightbox\x3d1\x26chrome\x3d0\x26edit\x3d_blank"+
(r.checked?"\x26layers\x3d1":"")+"');}}})(this);"),B+="cursor:pointer;"),k.checked&&(g=parseInt(b.getAttribute("width")),x=parseInt(b.getAttribute("height")),b.setAttribute("viewBox","0 0 "+g+" "+x),B+="max-width:100%;max-height:"+x+"px;",b.removeAttribute("height")),""!=B&&b.setAttribute("style",B),e.value=mxUtils.getXml(b);e.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?e.select():document.execCommand("selectAll",!1,null)}}a.getCurrentFile();var d=document.createElement("div"),
b=a.editor.graph;b.getGraphBounds();mxUtils.write(d,mxResources.get("mainEmbedNotice")+": ");mxUtils.br(d);var e=document.createElement("textarea");e.style.marginTop="6px";e.style.width="550px";e.style.height="280px";e.style.resize="none";d.appendChild(e);mxUtils.br(d);var g=document.createElement("div");g.style.paddingTop="16px";g.style.textAlign="center";var k=document.createElement("input");k.setAttribute("type","checkbox");k.setAttribute("checked","checked");k.defaultChecked=!0;g.appendChild(k);
mxUtils.write(g,mxResources.get("fit"));var l=document.createElement("input");l.setAttribute("type","checkbox");l.style.marginLeft="30px";b.shadowVisible&&(l.setAttribute("checked","checked"),l.defaultChecked=!0);if(!c||a.isExportToCanvas())g.appendChild(l),mxUtils.write(g,mxResources.get("shadow"));var m=document.createElement("input");m.setAttribute("type","checkbox");m.style.marginLeft="30px";c||(g.appendChild(m),mxUtils.write(g,mxResources.get("image")));var n=document.createElement("input");
n.setAttribute("type","checkbox");n.style.marginLeft="30px";c&&(g.appendChild(n),mxUtils.write(g,mxResources.get("retina")));var p=document.createElement("input");p.setAttribute("type","checkbox");p.setAttribute("checked","checked");p.defaultChecked=!0;p.style.marginLeft="30px";g.appendChild(p);mxUtils.write(g,mxResources.get("lightbox"));var r=document.createElement("input");r.setAttribute("type","checkbox");r.style.marginLeft="30px";b=a.editor.graph.getModel();1<b.getChildCount(b.getRoot())?(r.setAttribute("checked",
"checked"),r.defaultChecked=!0):r.setAttribute("disabled","disabled");g.appendChild(r);mxUtils.write(g,mxResources.get("layers"));d.appendChild(g);this.init=function(){f()};mxEvent.addListener(m,"change",f);mxEvent.addListener(n,"change",f);mxEvent.addListener(l,"change",f);mxEvent.addListener(k,"change",f);mxEvent.addListener(p,"change",f);mxEvent.addListener(r,"change",f);g=document.createElement("div");g.style.paddingTop="18px";g.style.textAlign="right";!a.isOffline()&&!c&&(b=mxUtils.button(mxResources.get("help"),
function(){window.open("https://support.draw.io/pages/viewpage.action?pageId\x3d12222606")}),b.className="geBtn",g.appendChild(b));if(!mxClient.IS_CHROMEAPP&&!navigator.standalone&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode))b=mxUtils.button(mxResources.get("preview"),function(){var a=window.open().document;a.writeln("\x3chtml\x3e\x3chead\x3e\x3ctitle\x3e"+encodeURIComponent(mxResources.get("preview"))+'\x3c/title\x3e\x3cmeta charset\x3d"utf-8"\x3e\x3c/head\x3e\x3cbody\x3e'+
e.value+"\x3c/body\x3e\x3c/html\x3e");a.close()}),b.className="geBtn",g.appendChild(b);var b=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()}),s=mxUtils.button(mxResources.get("copy"),function(){e.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?e.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});g.appendChild(b);!mxClient.IS_SF&&null==document.documentMode?(g.appendChild(s),s.className=
"geBtn gePrimaryBtn",b.className="geBtn"):b.className="geBtn gePrimaryBtn";d.appendChild(g);this.container=d},GoogleSitesDialog=function(a){function c(){var a=null!=C.getTitle()?C.getTitle():this.defaultFilename;if(x.checked&&""!=p.value){var b="https://www.draw.io/gadget.xml?type\x3d4\x26diagram\x3d"+encodeURIComponent(mxUtils.htmlEntities(p.value));null!=a&&(b+="\x26title\x3d"+encodeURIComponent(a));0<y.length&&(b+="\x26s\x3d"+y);""!=r.value&&"0"!=r.value&&(b+="\x26border\x3d"+r.value);""!=n.value&&
(b+="\x26height\x3d"+n.value);b+="\x26pan\x3d"+(s.checked?"1":"0");b+="\x26zoom\x3d"+(q.checked?"1":"0");b+="\x26fit\x3d"+(z.checked?"1":"0");b+="\x26resize\x3d"+(u.checked?"1":"0");b+="\x26x0\x3d"+Number(m.value);b+="\x26y0\x3d"+k;d.mathEnabled&&(b+="\x26math\x3d1");v.checked?b+="\x26edit\x3d_blank":t.checked&&(b+="\x26edit\x3d"+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));l.value=b}else C.constructor==DriveFile||C.constructor==DropboxFile?(b="https://www.draw.io/gadget.xml?embed\x3d0\x26diagram\x3d",
""!=p.value?b+=encodeURIComponent(mxUtils.htmlEntities(p.value))+"\x26type\x3d3":(b+=C.getHash().substring(1),b=C.constructor==DropboxFile?b+"\x26type\x3d2":b+"\x26type\x3d1"),null!=a&&(b+="\x26title\x3d"+encodeURIComponent(a)),""!=n.value&&(a=parseInt(n.value)+parseInt(m.value),b+="\x26height\x3d"+a),l.value=b):l.value=""}var f=document.createElement("div"),d=a.editor.graph,b=d.getGraphBounds(),e=d.view.scale,g=Math.floor(b.x/e-d.view.translate.x),k=Math.floor(b.y/e-d.view.translate.y);mxUtils.write(f,
"geBtn gePrimaryBtn",b.className="geBtn"):b.className="geBtn gePrimaryBtn";d.appendChild(g);this.container=d},GoogleSitesDialog=function(a){function c(){var a=null!=B.getTitle()?B.getTitle():this.defaultFilename;if(x.checked&&""!=p.value){var b="https://www.draw.io/gadget.xml?type\x3d4\x26diagram\x3d"+encodeURIComponent(mxUtils.htmlEntities(p.value));null!=a&&(b+="\x26title\x3d"+encodeURIComponent(a));0<y.length&&(b+="\x26s\x3d"+y);""!=r.value&&"0"!=r.value&&(b+="\x26border\x3d"+r.value);""!=n.value&&
(b+="\x26height\x3d"+n.value);b+="\x26pan\x3d"+(s.checked?"1":"0");b+="\x26zoom\x3d"+(q.checked?"1":"0");b+="\x26fit\x3d"+(z.checked?"1":"0");b+="\x26resize\x3d"+(u.checked?"1":"0");b+="\x26x0\x3d"+Number(m.value);b+="\x26y0\x3d"+k;d.mathEnabled&&(b+="\x26math\x3d1");v.checked?b+="\x26edit\x3d_blank":t.checked&&(b+="\x26edit\x3d"+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));l.value=b}else B.constructor==DriveFile||B.constructor==DropboxFile?(b="https://www.draw.io/gadget.xml?embed\x3d0\x26diagram\x3d",
""!=p.value?b+=encodeURIComponent(mxUtils.htmlEntities(p.value))+"\x26type\x3d3":(b+=B.getHash().substring(1),b=B.constructor==DropboxFile?b+"\x26type\x3d2":b+"\x26type\x3d1"),null!=a&&(b+="\x26title\x3d"+encodeURIComponent(a)),""!=n.value&&(a=parseInt(n.value)+parseInt(m.value),b+="\x26height\x3d"+a),l.value=b):l.value=""}var f=document.createElement("div"),d=a.editor.graph,b=d.getGraphBounds(),e=d.view.scale,g=Math.floor(b.x/e-d.view.translate.x),k=Math.floor(b.y/e-d.view.translate.y);mxUtils.write(f,
mxResources.get("googleGadget")+":");mxUtils.br(f);var l=document.createElement("input");l.setAttribute("type","text");l.style.marginBottom="8px";l.style.marginTop="2px";l.style.width="410px";f.appendChild(l);mxUtils.br(f);this.init=function(){l.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null)};mxUtils.write(f,mxResources.get("top")+":");var m=document.createElement("input");m.setAttribute("type","text");m.setAttribute("size",
"4");m.style.marginRight="16px";m.style.marginLeft="4px";m.value=g;f.appendChild(m);mxUtils.write(f,mxResources.get("height")+":");var n=document.createElement("input");n.setAttribute("type","text");n.setAttribute("size","4");n.style.marginLeft="4px";n.value=Math.ceil(b.height/e);f.appendChild(n);mxUtils.br(f);b=document.createElement("hr");b.setAttribute("size","1");b.style.marginBottom="16px";b.style.marginTop="16px";f.appendChild(b);mxUtils.write(f,mxResources.get("publicDiagramUrl")+":");mxUtils.br(f);
var p=document.createElement("input");p.setAttribute("type","text");p.setAttribute("size","28");p.style.marginBottom="8px";p.style.marginTop="2px";p.style.width="410px";f.appendChild(p);mxUtils.br(f);mxUtils.write(f,mxResources.get("borderWidth")+":");var r=document.createElement("input");r.setAttribute("type","text");r.setAttribute("size","3");r.style.marginBottom="8px";r.style.marginLeft="4px";r.value="0";f.appendChild(r);mxUtils.br(f);var s=document.createElement("input");s.setAttribute("type",
"checkbox");s.setAttribute("checked","checked");s.defaultChecked=!0;s.style.marginLeft="16px";f.appendChild(s);mxUtils.write(f,mxResources.get("pan")+" ");var q=document.createElement("input");q.setAttribute("type","checkbox");q.setAttribute("checked","checked");q.defaultChecked=!0;q.style.marginLeft="8px";f.appendChild(q);mxUtils.write(f,mxResources.get("zoom")+" ");var t=document.createElement("input");t.setAttribute("type","checkbox");t.style.marginLeft="8px";t.setAttribute("title",window.location.href);
f.appendChild(t);mxUtils.write(f,mxResources.get("edit")+" ");var v=document.createElement("input");v.setAttribute("type","checkbox");v.style.marginLeft="8px";f.appendChild(v);mxUtils.write(f,mxResources.get("asNew")+" ");mxUtils.br(f);var u=document.createElement("input");u.setAttribute("type","checkbox");u.setAttribute("checked","checked");u.defaultChecked=!0;u.style.marginLeft="16px";f.appendChild(u);mxUtils.write(f,mxResources.get("resize")+" ");var z=document.createElement("input");z.setAttribute("type",
"checkbox");z.style.marginLeft="8px";f.appendChild(z);mxUtils.write(f,mxResources.get("fit")+" ");var x=document.createElement("input");x.setAttribute("type","checkbox");x.style.marginLeft="8px";f.appendChild(x);mxUtils.write(f,mxResources.get("embed")+" ");for(var y="",b={},e=d.view.states.getValues(),g=0;g<e.length;g++){var F=mxStencilRegistry.getBasenameForStencil(e[g].style[mxConstants.STYLE_SHAPE]);null!=F&&null==b[F]&&(b[F]=!0,y+=F+";")}var C=a.getCurrentFile();c();p.setAttribute("placeholder",
mxResources.get("loading")+"...");a.getPublicUrl(C,function(a){p.setAttribute("placeholder","");p.value=null!=a?a:"";c()});mxEvent.addListener(s,"change",c);mxEvent.addListener(q,"change",c);mxEvent.addListener(u,"change",c);mxEvent.addListener(z,"change",c);mxEvent.addListener(t,"change",c);mxEvent.addListener(v,"change",c);mxEvent.addListener(x,"change",c);mxEvent.addListener(n,"change",c);mxEvent.addListener(m,"change",c);mxEvent.addListener(r,"change",c);mxEvent.addListener(p,"change",c);mxEvent.addListener(l,
"checkbox");z.style.marginLeft="8px";f.appendChild(z);mxUtils.write(f,mxResources.get("fit")+" ");var x=document.createElement("input");x.setAttribute("type","checkbox");x.style.marginLeft="8px";f.appendChild(x);mxUtils.write(f,mxResources.get("embed")+" ");for(var y="",b={},e=d.view.states.getValues(),g=0;g<e.length;g++){var F=mxStencilRegistry.getBasenameForStencil(e[g].style[mxConstants.STYLE_SHAPE]);null!=F&&null==b[F]&&(b[F]=!0,y+=F+";")}var B=a.getCurrentFile();c();p.setAttribute("placeholder",
mxResources.get("loading")+"...");a.getPublicUrl(B,function(a){p.setAttribute("placeholder","");p.value=null!=a?a:"";c()});mxEvent.addListener(s,"change",c);mxEvent.addListener(q,"change",c);mxEvent.addListener(u,"change",c);mxEvent.addListener(z,"change",c);mxEvent.addListener(t,"change",c);mxEvent.addListener(v,"change",c);mxEvent.addListener(x,"change",c);mxEvent.addListener(n,"change",c);mxEvent.addListener(m,"change",c);mxEvent.addListener(r,"change",c);mxEvent.addListener(p,"change",c);mxEvent.addListener(l,
"click",function(){l.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null)});b=document.createElement("div");b.style.paddingTop="12px";b.style.textAlign="right";e=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});e.className="geBtn gePrimaryBtn";b.appendChild(e);f.appendChild(b);this.container=f},IframeDialog=function(a,c,f){function d(){null!=x&&null!=x.getTitle()&&x.getTitle();if(f&&null!=x&&(""!=q.value||x.constructor==
DriveFile||x.constructor==DropboxFile||x.constructor==OneDriveFile)){u.removeAttribute("disabled");z.removeAttribute("disabled");var a="https://www.draw.io/?chrome\x3d0";p.checked&&(a+="\x26lightbox\x3d1");r.checked&&(a+="\x26edit\x3d"+encodeURIComponent(mxUtils.htmlEntities("https://www.draw.io/#"+x.getHash())));e.foldingEnabled&&(a+="\x26nav\x3d1");s.checked&&(a+="\x26layers\x3d1");a=""!=q.value?a+("\x26url\x3d"+encodeURIComponent(mxUtils.htmlEntities(q.value))):a+("#"+x.getHash());l.value=a;l.removeAttribute("disabled")}else if(""!=
q.value){u.removeAttribute("disabled");z.removeAttribute("disabled");var b=encodeURIComponent(mxUtils.htmlEntities(q.value));c?(a=EXPORT_URL+"?format\x3dpng\x26url\x3d"+b,l.value=a):(a="https://www.draw.io/?chrome\x3d0",p.checked&&(a+="\x26lightbox\x3d1"),r.checked&&(a+="\x26edit\x3d"+b),e.foldingEnabled&&(a+="\x26nav\x3d1"),s.checked&&(a+="\x26layers\x3d1"),l.value='\x3ciframe frameborder\x3d"0" style\x3d"width:'+m.value+";height:"+n.value+'" src\x3d"'+(a+("\x26url\x3d"+b))+'"\x3e\x3c/iframe\x3e');
@ -7149,13 +7150,13 @@ function(a){e.value=a.target.result};b.readAsText(a)}},!1));b.appendChild(g);mxE
var m=mxUtils.button(mxResources.get("insert"),function(){a.hideDialog();f(e.value,!g.checked)});b.appendChild(m);m.className="geBtn gePrimaryBtn";a.editor.cancelFirst||b.appendChild(l);this.container=b},NewDialog=function(a,c,f,d){function b(){if(d)a.hideDialog(),d(s);else{var b=p.value;if(null!=b&&0<b.length){var c=a.mode==App.MODE_ONEDRIVE||a.mode==App.MODE_GOOGLE&&(null==a.stateArg||null==a.stateArg.folderId)?a.mode:null;a.pickFolder(c,function(c){a.createFile(b,s,null!=r&&0<r.length?r:null,null,
function(){a.hideDialog()},null,c)},c!=App.MODE_GOOGLE)}}}function e(a,b,c){null!=q&&(q.style.backgroundColor="transparent",q.style.border="1px solid transparent");s=b;r=c;q=a;q.style.backgroundColor="#e6eff8";q.style.border="1px solid #ccd9ea"}function g(a,c,d,f,g){var k=document.createElement("div");k.className="geTemplate";k.style.height=z+"px";k.style.width=x+"px";null!=f&&0<f.length&&k.setAttribute("title",f);if(null!=a&&0<a.length){a.substring(0,a.length-4);k.style.backgroundImage="url("+TEMPLATE_PATH+
"/"+a.substring(0,a.length-4)+".png)";k.style.backgroundPosition="center center";k.style.backgroundRepeat="no-repeat";var l=!1;mxEvent.addListener(k,"click",function(d){t.setAttribute("disabled","disabled");k.style.backgroundColor="transparent";k.style.border="1px solid transparent";mxUtils.get(TEMPLATE_PATH+"/"+a,mxUtils.bind(this,function(a){200==a.getStatus()&&(t.removeAttribute("disabled"),e(k,a.getText(),c),l&&b())}))});mxEvent.addListener(k,"dblclick",function(a){l=!0})}else k.innerHTML='\x3ctable width\x3d"100%" height\x3d"100%"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle"\x3e'+
mxResources.get(d)+"\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e",g&&e(k),mxEvent.addListener(k,"click",function(a){e(k)}),mxEvent.addListener(k,"dblclick",function(a){b()});v.appendChild(k)}function k(){function a(){for(var c=!0;b<C.length&&(c||0!=mxUtils.mod(b,30));)c=C[b++],g(c.url,c.libs,c.title,c.tooltip,c.select),c=!1}var b=0;mxEvent.addListener(v,"scroll",function(b){v.scrollTop+v.clientHeight>=v.scrollHeight&&(a(),mxEvent.consume(b))});var c=null,d;for(d in y){var e=document.createElement("div"),
mxResources.get(d)+"\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e",g&&e(k),mxEvent.addListener(k,"click",function(a){e(k)}),mxEvent.addListener(k,"dblclick",function(a){b()});v.appendChild(k)}function k(){function a(){for(var c=!0;b<B.length&&(c||0!=mxUtils.mod(b,30));)c=B[b++],g(c.url,c.libs,c.title,c.tooltip,c.select),c=!1}var b=0;mxEvent.addListener(v,"scroll",function(b){v.scrollTop+v.clientHeight>=v.scrollHeight&&(a(),mxEvent.consume(b))});var c=null,d;for(d in y){var e=document.createElement("div"),
f=mxResources.get(d),k=y[d];null==f&&(f=d.substring(0,1).toUpperCase()+d.substring(1));18<f.length&&(f=f.substring(0,18)+"\x26hellip;");e.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;";e.setAttribute("title",f+" ("+k.length+")");mxUtils.write(e,e.getAttribute("title"));u.appendChild(e);null==c&&(c=e,c.style.backgroundColor="#ebf2f9");(function(d,f){mxEvent.addListener(e,"click",function(){c!=f&&(c.style.backgroundColor=
"",c=f,c.style.backgroundColor="#ebf2f9",v.scrollTop=0,v.innerHTML="",b=0,C=y[d],a())})})(d,e)}a()}f=null!=f?f:!0;var l=document.createElement("div");l.style.height="100%";var m=document.createElement("div");m.style.whiteSpace="nowrap";m.style.height="46px";l.appendChild(m);var n=document.createElement("img");n.setAttribute("border","0");n.setAttribute("align","absmiddle");n.style.width="40px";n.style.height="40px";n.style.marginRight="10px";n.style.paddingBottom="4px";n.src=a.mode==App.MODE_GOOGLE?
"",c=f,c.style.backgroundColor="#ebf2f9",v.scrollTop=0,v.innerHTML="",b=0,B=y[d],a())})})(d,e)}a()}f=null!=f?f:!0;var l=document.createElement("div");l.style.height="100%";var m=document.createElement("div");m.style.whiteSpace="nowrap";m.style.height="46px";l.appendChild(m);var n=document.createElement("img");n.setAttribute("border","0");n.setAttribute("align","absmiddle");n.style.width="40px";n.style.height="40px";n.style.marginRight="10px";n.style.paddingBottom="4px";n.src=a.mode==App.MODE_GOOGLE?
IMAGE_PATH+"/google-drive-logo.svg":a.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":a.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":a.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!c&&f&&m.appendChild(n);f&&mxUtils.write(m,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"):mxResources.get("filename"))+":");n=".xml";a.mode==App.MODE_GOOGLE&&null!=a.drive?n=a.drive.extension:a.mode==App.MODE_DROPBOX&&
null!=a.dropbox?n=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive&&(n=a.oneDrive.extension);var p=document.createElement("input");p.setAttribute("value",a.defaultFilename+n);p.style.marginRight="20px";p.style.marginLeft="10px";p.style.width=c?"220px":"450px";this.init=function(){f&&(p.focus(),mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?p.select():document.execCommand("selectAll",!1,null))};f&&m.appendChild(p);var r=null,s=null,q=null,t=mxUtils.button(mxResources.get("create"),
function(){b()});t.className="geBtn gePrimaryBtn";var v=document.createElement("div");v.style.border="1px solid #d3d3d3";v.style.position="absolute";v.style.left="160px";v.style.right="34px";v.style.top=f?"72px":"40px";v.style.bottom="76px";v.style.margin="6px 0 0 -1px";v.style.padding="6px";v.style.overflow="auto";var u=document.createElement("div");u.style.cssText="position:absolute;left:30px;width:128px;top:72px;bottom:76px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";f||(u.style.top=
"40px");var z=140,x=140,y={},F=1;y.basic=[{title:"blankDiagram",select:!0}];var C=y.basic;if(!c){l.appendChild(u);l.appendChild(v);var A=!1;mxUtils.get(TEMPLATE_PATH+"/index.xml",function(a){if(!A){A=!0;for(a=a.getXml().documentElement.firstChild;null!=a;){if("undefined"!==typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var c=b.indexOf("/"),b=b.substring(0,c),c=y[b];null==c&&(F++,c=[],y[b]=c);c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),
"40px");var z=140,x=140,y={},F=1;y.basic=[{title:"blankDiagram",select:!0}];var B=y.basic;if(!c){l.appendChild(u);l.appendChild(v);var A=!1;mxUtils.get(TEMPLATE_PATH+"/index.xml",function(a){if(!A){A=!0;for(a=a.getXml().documentElement.firstChild;null!=a;){if("undefined"!==typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var c=b.indexOf("/"),b=b.substring(0,c),c=y[b];null==c&&(F++,c=[],y[b]=c);c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),
tooltip:a.getAttribute("url")})}}a=a.nextSibling}k()}})}mxEvent.addListener(p,"keypress",function(c){13==c.keyCode&&(a.hideDialog(),b())});m=document.createElement("div");m.style.marginTop=c?"4px":"16px";m.style.textAlign="right";m.style.position="absolute";m.style.left="40px";m.style.bottom="30px";m.style.right="40px";n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});n.className="geBtn";a.editor.cancelFirst&&m.appendChild(n);if(!c&&!a.isOffline()&&f){var E=mxUtils.button(mxResources.get("help"),
function(){window.open("https://support.draw.io/display/DO/Creating+and+Opening+Files")});E.className="geBtn";m.appendChild(E)}c||(c=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var b=new FilenameDialog(a,"",mxResources.get("create"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?mode\x3d"+a.mode+"\x26title\x3d"+encodeURIComponent(p.value)+"\x26create\x3d"+encodeURIComponent(b)),null==a.getCurrentFile()?window.location.href=b:window.openWindow(b))},mxResources.get("url"));
a.showDialog(b.container,300,80,!0,!0);b.init()}),c.className="geBtn",m.appendChild(c));m.appendChild(t);a.editor.cancelFirst||m.appendChild(n);l.appendChild(m);this.container=l},CreateDialog=function(a,c,f,d,b,e,g,k,l,m,n){function p(b,c,d,e){function f(){mxEvent.addListener(g,"click",function(){r(d);s(d)})}var g=document.createElement("a");g.style.overflow="hidden";var k=document.createElement("img");k.src=b;k.setAttribute("border","0");k.setAttribute("align","absmiddle");k.style.width="60px";k.style.height=
@ -7193,9 +7194,9 @@ l.writeln("window.print();"),l.writeln("});")),l.writeln("\x3c/script\x3e"),l.wr
e=document.createElement("span");mxUtils.write(e,mxResources.get("pages")+":");l.appendChild(e);var p=document.createElement("input");p.style.cssText="margin:0 8px 0 8px;";p.setAttribute("value","1");p.setAttribute("type","number");p.setAttribute("min","1");p.style.width="50px";l.appendChild(p);e=document.createElement("span");mxUtils.write(e,mxResources.get("to"));l.appendChild(e);var r=p.cloneNode(!0);l.appendChild(r);mxEvent.addListener(p,"focus",function(){n.checked=!0});mxEvent.addListener(r,
"focus",function(){n.checked=!0});mxEvent.addListener(p,"change",c);mxEvent.addListener(r,"change",c);if(null!=a.pages&&(g=a.pages.length,null!=a.currentPage))for(e=0;e<a.pages.length;e++)if(a.currentPage==a.pages[e]){k=e+1;p.value=k;r.value=k;break}p.setAttribute("max",g);r.setAttribute("max",g);1<g&&b.appendChild(l);var s=document.createElement("div");s.style.marginBottom="10px";var q=document.createElement("input");q.style.marginRight="8px";q.setAttribute("value","adjust");q.setAttribute("type",
"radio");q.setAttribute("name","printZoom");s.appendChild(q);e=document.createElement("span");mxUtils.write(e,mxResources.get("adjustTo"));s.appendChild(e);var t=document.createElement("input");t.style.cssText="margin:0 8px 0 8px;";t.setAttribute("value","100 %");t.style.width="50px";s.appendChild(t);mxEvent.addListener(t,"focus",function(){q.checked=!0});b.appendChild(s);var l=l.cloneNode(!1),v=q.cloneNode(!0);v.setAttribute("value","fit");q.setAttribute("checked","checked");e=document.createElement("div");
e.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";e.appendChild(v);l.appendChild(e);s=document.createElement("table");s.style.display="inline-block";var u=document.createElement("tbody"),z=document.createElement("tr"),x=z.cloneNode(!0),y=document.createElement("td"),F=y.cloneNode(!0),C=y.cloneNode(!0),A=y.cloneNode(!0),E=y.cloneNode(!0),G=y.cloneNode(!0);y.style.textAlign="right";A.style.textAlign="right";mxUtils.write(y,mxResources.get("fitTo"));var H=document.createElement("input");
H.style.cssText="margin:0 8px 0 8px;";H.setAttribute("value","1");H.setAttribute("min","1");H.setAttribute("type","number");H.style.width="40px";F.appendChild(H);e=document.createElement("span");mxUtils.write(e,mxResources.get("fitToSheetsAcross"));C.appendChild(e);mxUtils.write(A,mxResources.get("fitToBy"));var I=H.cloneNode(!0);E.appendChild(I);mxEvent.addListener(H,"focus",function(){v.checked=!0});mxEvent.addListener(I,"focus",function(){v.checked=!0});e=document.createElement("span");mxUtils.write(e,
mxResources.get("fitToSheetsDown"));G.appendChild(e);z.appendChild(y);z.appendChild(F);z.appendChild(C);x.appendChild(A);x.appendChild(E);x.appendChild(G);u.appendChild(z);u.appendChild(x);s.appendChild(u);l.appendChild(s);b.appendChild(l);l=document.createElement("div");e=document.createElement("div");e.style.fontWeight="bold";e.style.marginBottom="12px";mxUtils.write(e,mxResources.get("paperSize"));l.appendChild(e);e=document.createElement("div");e.style.marginBottom="12px";var J=PageSetupDialog.addPageFormatPanel(e,
e.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";e.appendChild(v);l.appendChild(e);s=document.createElement("table");s.style.display="inline-block";var u=document.createElement("tbody"),z=document.createElement("tr"),x=z.cloneNode(!0),y=document.createElement("td"),F=y.cloneNode(!0),B=y.cloneNode(!0),A=y.cloneNode(!0),E=y.cloneNode(!0),G=y.cloneNode(!0);y.style.textAlign="right";A.style.textAlign="right";mxUtils.write(y,mxResources.get("fitTo"));var H=document.createElement("input");
H.style.cssText="margin:0 8px 0 8px;";H.setAttribute("value","1");H.setAttribute("min","1");H.setAttribute("type","number");H.style.width="40px";F.appendChild(H);e=document.createElement("span");mxUtils.write(e,mxResources.get("fitToSheetsAcross"));B.appendChild(e);mxUtils.write(A,mxResources.get("fitToBy"));var I=H.cloneNode(!0);E.appendChild(I);mxEvent.addListener(H,"focus",function(){v.checked=!0});mxEvent.addListener(I,"focus",function(){v.checked=!0});e=document.createElement("span");mxUtils.write(e,
mxResources.get("fitToSheetsDown"));G.appendChild(e);z.appendChild(y);z.appendChild(F);z.appendChild(B);x.appendChild(A);x.appendChild(E);x.appendChild(G);u.appendChild(z);u.appendChild(x);s.appendChild(u);l.appendChild(s);b.appendChild(l);l=document.createElement("div");e=document.createElement("div");e.style.fontWeight="bold";e.style.marginBottom="12px";mxUtils.write(e,mxResources.get("paperSize"));l.appendChild(e);e=document.createElement("div");e.style.marginBottom="12px";var J=PageSetupDialog.addPageFormatPanel(e,
"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);l.appendChild(e);e=document.createElement("span");mxUtils.write(e,mxResources.get("pageScale"));l.appendChild(e);var K=document.createElement("input");K.style.cssText="margin:0 8px 0 8px;";K.setAttribute("value","100 %");K.style.width="60px";l.appendChild(K);b.appendChild(l);e=document.createElement("div");e.style.cssText="text-align:right;margin:42px 0 0 0;";l=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});
l.className="geBtn";a.editor.cancelFirst&&e.appendChild(l);mxClient.IS_CHROMEAPP||(s=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();f(!1)}),s.className="geBtn",e.appendChild(s));s=mxUtils.button(mxResources.get(mxClient.IS_CHROMEAPP?"ok":"print"),function(){a.hideDialog();f(!0)});s.className="geBtn gePrimaryBtn";e.appendChild(s);a.editor.cancelFirst||e.appendChild(l);b.appendChild(e);this.container=b};
var LinkDialog=function(a,c,f,d){var b=document.createElement("div");mxUtils.write(b,mxResources.get("editLink")+":");var e=document.createElement("div");e.className="geTitle";e.style.backgroundColor="transparent";e.style.borderColor="transparent";e.style.whiteSpace="nowrap";e.style.textOverflow="clip";e.style.cursor="default";mxClient.IS_VML||(e.style.paddingRight="20px");var g=document.createElement("input");g.setAttribute("value",c);g.setAttribute("placeholder",mxResources.get("dragUrlsHere"));
@ -7220,20 +7221,20 @@ var RevisionDialog=function(a,c){var f=document.createElement("div"),d=document.
g.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,c){a.editor.graph.mathEnabled&&Editor.MathJaxRender(g.container)}));var p=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),r=a.getCurrentFile(),s=null,q=null,t=null,v=null,u=mxUtils.button("",function(){null!=t&&g.zoomIn()});u.className="geSprite geSprite-zoomin";u.setAttribute("title",mxResources.get("zoomIn"));
u.style.outline="none";u.style.border="none";u.style.margin="2px";u.setAttribute("disabled","disabled");mxUtils.setOpacity(u,20);var z=mxUtils.button("",function(){null!=t&&g.zoomOut()});z.className="geSprite geSprite-zoomout";z.setAttribute("title",mxResources.get("zoomOut"));z.style.outline="none";z.style.border="none";z.style.margin="2px";z.setAttribute("disabled","disabled");mxUtils.setOpacity(z,20);var x=mxUtils.button("",function(){null!=t&&(g.maxFitScale=8,g.fit(8),g.center())});x.className=
"geSprite geSprite-fit";x.setAttribute("title",mxResources.get("fit"));x.style.outline="none";x.style.border="none";x.style.margin="2px";x.setAttribute("disabled","disabled");mxUtils.setOpacity(x,20);var y=mxUtils.button("",function(){null!=t&&(g.zoomActual(),g.center())});y.className="geSprite geSprite-actualsize";y.setAttribute("title",mxResources.get("actualSize"));y.style.outline="none";y.style.border="none";y.style.margin="2px";y.setAttribute("disabled","disabled");mxUtils.setOpacity(y,20);var F=
document.createElement("div");F.style.position="absolute";F.style.textAlign="right";F.style.color="gray";F.style.marginTop="10px";F.style.backgroundColor="transparent";F.style.top="440px";F.style.right="32px";F.style.maxWidth="380px";F.style.cursor="default";var C=mxUtils.button(mxResources.get("download"),function(){if(null!=t){var b=a.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle():a.defaultFilename,c=mxUtils.getXml(t.documentElement);a.isLocalFileSave()?a.saveLocalFile(c,b,"text/xml"):
(c="undefined"===typeof pako?"\x26xml\x3d"+encodeURIComponent(c):"\x26data\x3d"+encodeURIComponent(a.editor.graph.compress(c)),(new mxXmlRequest(SAVE_URL,"filename\x3d"+encodeURIComponent(b)+"\x26format\x3dxml"+c)).simulate(document,"_blank"))}});C.className="geBtn";C.setAttribute("disabled","disabled");var A=mxUtils.button(mxResources.get("restore"),function(){null!=t&&null!=v&&a.confirm(mxResources.get("areYouSure"),function(){a.spinner.spin(document.body,mxResources.get("restoring"))&&r.save(!0,
document.createElement("div");F.style.position="absolute";F.style.textAlign="right";F.style.color="gray";F.style.marginTop="10px";F.style.backgroundColor="transparent";F.style.top="440px";F.style.right="32px";F.style.maxWidth="380px";F.style.cursor="default";var B=mxUtils.button(mxResources.get("download"),function(){if(null!=t){var b=a.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle():a.defaultFilename,c=mxUtils.getXml(t.documentElement);a.isLocalFileSave()?a.saveLocalFile(c,b,"text/xml"):
(c="undefined"===typeof pako?"\x26xml\x3d"+encodeURIComponent(c):"\x26data\x3d"+encodeURIComponent(a.editor.graph.compress(c)),(new mxXmlRequest(SAVE_URL,"filename\x3d"+encodeURIComponent(b)+"\x26format\x3dxml"+c)).simulate(document,"_blank"))}});B.className="geBtn";B.setAttribute("disabled","disabled");var A=mxUtils.button(mxResources.get("restore"),function(){null!=t&&null!=v&&a.confirm(mxResources.get("areYouSure"),function(){a.spinner.spin(document.body,mxResources.get("restoring"))&&r.save(!0,
function(b){a.spinner.stop();a.replaceFileData(v);a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)})})});A.className="geBtn";A.setAttribute("disabled","disabled");var E=document.createElement("select");E.setAttribute("disabled","disabled");E.style.maxWidth="80px";E.style.position="relative";E.style.top="-2px";E.style.verticalAlign="bottom";E.style.marginRight="6px";E.style.display="none";var G=null;mxEvent.addListener(E,
"change",function(a){null!=G&&(G(a),mxEvent.consume(a))});var H=mxUtils.button(mxResources.get("openInNewWindow"),function(){null!=t&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(t.documentElement)),window.openWindow(a.getUrl()))});H.className="geBtn";H.setAttribute("disabled","disabled");var I=mxUtils.button(mxResources.get("show"),function(){null!=q&&window.open(q.getUrl())});I.className="geBtn gePrimaryBtn";I.setAttribute("disabled","disabled");
d=document.createElement("div");d.style.position="absolute";d.style.top="482px";d.style.width="640px";d.style.textAlign="right";var J=document.createElement("div");J.className="geToolbarContainer";J.style.backgroundColor="transparent";J.style.padding="2px";J.style.border="none";J.style.left="199px";J.style.top="442px";var K=null;if(null==r||null==a.drive&&r.constructor==DriveFile||null==a.dropbox&&r.constructor==DropboxFile)e.style.display="none",J.style.display="none",mxUtils.write(b,mxResources.get("notAvailable"));
else if(null!=c&&0<c.length){e.style.cursor="move";var O=document.createElement("table");O.style.border="1px solid lightGray";O.style.borderCollapse="collapse";O.style.borderSpacing="0px";O.style.width="100%";var U=document.createElement("tbody"),W=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(k=mxUtils.indexOf(a.pages,a.currentPage));for(var B=c.length-1;0<=B;B--){var D=function(b){var d=new Date(b.modifiedDate),f=null;if(0<=d.getTime()){f=document.createElement("tr");f.style.borderBottom=
else if(null!=c&&0<c.length){e.style.cursor="move";var O=document.createElement("table");O.style.border="1px solid lightGray";O.style.borderCollapse="collapse";O.style.borderSpacing="0px";O.style.width="100%";var U=document.createElement("tbody"),W=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(k=mxUtils.indexOf(a.pages,a.currentPage));for(var C=c.length-1;0<=C;C--){var D=function(b){var d=new Date(b.modifiedDate),f=null;if(0<=d.getTime()){f=document.createElement("tr");f.style.borderBottom=
"1px solid lightGray";f.style.fontSize="12px";f.style.cursor="pointer";var n=document.createElement("td");n.style.padding="6px";n.style.whiteSpace="nowrap";b==c[c.length-1]?mxUtils.write(n,mxResources.get("current")):d.toDateString()===W?mxUtils.write(n,d.toLocaleTimeString()):mxUtils.write(n,d.toLocaleDateString()+" "+d.toLocaleTimeString());f.appendChild(n);f.setAttribute("title",d.toLocaleDateString()+" "+d.toLocaleTimeString()+" "+a.formatFileSize(parseInt(b.fileSize))+(null!=b.lastModifyingUserName?
" "+b.lastModifyingUserName:""));var B=function(b){p.stop();var c=mxUtils.parseXml(b),n=a.editor.extractGraphModel(c.documentElement,!0);if(null!=n){E.style.display="none";E.innerHTML="";t=c;v=b;l=parseSelectFunction=null;m=0;var q=function(a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";e.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,g.getModel());g.maxFitScale=1;g.fit(8);g.center();return a},s=function(b){null!=b&&(b=q(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(b))).documentElement));
" "+b.lastModifyingUserName:""));var C=function(b){p.stop();var c=mxUtils.parseXml(b),n=a.editor.extractGraphModel(c.documentElement,!0);if(null!=n){E.style.display="none";E.innerHTML="";t=c;v=b;l=parseSelectFunction=null;m=0;var q=function(a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";e.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,g.getModel());g.maxFitScale=1;g.fit(8);g.center();return a},s=function(b){null!=b&&(b=q(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(b))).documentElement));
return b};if("mxfile"==n.nodeName){c=n.getElementsByTagName("diagram");l=[];for(b=0;b<c.length;b++)l.push(c[b]);m=Math.min(k,l.length-1);0<l.length&&s(l[m]);if(1<l.length){E.removeAttribute("disabled");E.style.display="";for(b=0;b<l.length;b++)c=document.createElement("option"),mxUtils.write(c,l[b].getAttribute("name")||mxResources.get("pageWithNumber",[b+1])),c.setAttribute("value",b),b==m&&c.setAttribute("selected","selected"),E.appendChild(c)}G=function(){m=k=parseInt(E.value);s(l[k])}}else q(n);
F.innerHTML="";mxUtils.write(F,d.toLocaleDateString()+" "+d.toLocaleTimeString());F.setAttribute("title",f.getAttribute("title"));u.removeAttribute("disabled");z.removeAttribute("disabled");x.removeAttribute("disabled");y.removeAttribute("disabled");if(null==r||!r.isRestricted())a.editor.graph.isEnabled()&&A.removeAttribute("disabled"),C.removeAttribute("disabled"),I.removeAttribute("disabled"),H.removeAttribute("disabled");mxUtils.setOpacity(u,60);mxUtils.setOpacity(z,60);mxUtils.setOpacity(x,60);
mxUtils.setOpacity(y,60)}else E.style.display="none",E.innerHTML="",F.innerHTML="",mxUtils.write(F,mxResources.get("errorLoadingFile"))};mxEvent.addListener(f,"click",function(a){q!=b&&(p.stop(),null!=s&&(s.style.backgroundColor=""),q=b,s=f,s.style.backgroundColor="#ebf2f9",v=t=null,F.removeAttribute("title"),F.innerHTML=mxResources.get("loading")+"...",e.style.backgroundColor="#ffffff",g.getModel().clear(),A.setAttribute("disabled","disabled"),C.setAttribute("disabled","disabled"),u.setAttribute("disabled",
"disabled"),z.setAttribute("disabled","disabled"),y.setAttribute("disabled","disabled"),x.setAttribute("disabled","disabled"),H.setAttribute("disabled","disabled"),I.setAttribute("disabled","disabled"),E.setAttribute("disabled","disabled"),mxUtils.setOpacity(u,20),mxUtils.setOpacity(z,20),mxUtils.setOpacity(x,20),mxUtils.setOpacity(y,20),p.spin(e),b.getXml(function(a){q==b&&B(a)},function(a){p.stop();E.style.display="none";E.innerHTML="";F.innerHTML="";mxUtils.write(F,mxResources.get("errorLoadingFile"))}),
mxEvent.consume(a))});mxEvent.addListener(f,"dblclick",function(a){I.click();window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);U.appendChild(f)}return f}(c[B]);null!=D&&B==c.length-1&&(K=D)}O.appendChild(U);b.appendChild(O)}else e.style.display="none",J.style.display="none",mxUtils.write(b,mxResources.get("noRevisions"));this.init=function(){null!=K&&K.click()};b=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});
b.className="geBtn";J.appendChild(E);J.appendChild(u);J.appendChild(z);J.appendChild(y);J.appendChild(x);a.editor.cancelFirst?(d.appendChild(b),d.appendChild(C),d.appendChild(H),d.appendChild(A),d.appendChild(I)):(d.appendChild(C),d.appendChild(H),d.appendChild(A),d.appendChild(I),d.appendChild(b));f.appendChild(d);f.appendChild(J);f.appendChild(F);this.container=f},AnimationWindow=function(a,c,f,d,b){function e(a){for(var b=[],c=0;c<a.length;c++){var d=A.view.getState(a[c]);if(null!=d){for(var e=
F.innerHTML="";mxUtils.write(F,d.toLocaleDateString()+" "+d.toLocaleTimeString());F.setAttribute("title",f.getAttribute("title"));u.removeAttribute("disabled");z.removeAttribute("disabled");x.removeAttribute("disabled");y.removeAttribute("disabled");if(null==r||!r.isRestricted())a.editor.graph.isEnabled()&&A.removeAttribute("disabled"),B.removeAttribute("disabled"),I.removeAttribute("disabled"),H.removeAttribute("disabled");mxUtils.setOpacity(u,60);mxUtils.setOpacity(z,60);mxUtils.setOpacity(x,60);
mxUtils.setOpacity(y,60)}else E.style.display="none",E.innerHTML="",F.innerHTML="",mxUtils.write(F,mxResources.get("errorLoadingFile"))};mxEvent.addListener(f,"click",function(a){q!=b&&(p.stop(),null!=s&&(s.style.backgroundColor=""),q=b,s=f,s.style.backgroundColor="#ebf2f9",v=t=null,F.removeAttribute("title"),F.innerHTML=mxResources.get("loading")+"...",e.style.backgroundColor="#ffffff",g.getModel().clear(),A.setAttribute("disabled","disabled"),B.setAttribute("disabled","disabled"),u.setAttribute("disabled",
"disabled"),z.setAttribute("disabled","disabled"),y.setAttribute("disabled","disabled"),x.setAttribute("disabled","disabled"),H.setAttribute("disabled","disabled"),I.setAttribute("disabled","disabled"),E.setAttribute("disabled","disabled"),mxUtils.setOpacity(u,20),mxUtils.setOpacity(z,20),mxUtils.setOpacity(x,20),mxUtils.setOpacity(y,20),p.spin(e),b.getXml(function(a){q==b&&C(a)},function(a){p.stop();E.style.display="none";E.innerHTML="";F.innerHTML="";mxUtils.write(F,mxResources.get("errorLoadingFile"))}),
mxEvent.consume(a))});mxEvent.addListener(f,"dblclick",function(a){I.click();window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);U.appendChild(f)}return f}(c[C]);null!=D&&C==c.length-1&&(K=D)}O.appendChild(U);b.appendChild(O)}else e.style.display="none",J.style.display="none",mxUtils.write(b,mxResources.get("noRevisions"));this.init=function(){null!=K&&K.click()};b=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});
b.className="geBtn";J.appendChild(E);J.appendChild(u);J.appendChild(z);J.appendChild(y);J.appendChild(x);a.editor.cancelFirst?(d.appendChild(b),d.appendChild(B),d.appendChild(H),d.appendChild(A),d.appendChild(I)):(d.appendChild(B),d.appendChild(H),d.appendChild(A),d.appendChild(I),d.appendChild(b));f.appendChild(d);f.appendChild(J);f.appendChild(F);this.container=f},AnimationWindow=function(a,c,f,d,b){function e(a){for(var b=[],c=0;c<a.length;c++){var d=A.view.getState(a[c]);if(null!=d){for(var e=
A.cellRenderer.getShapesForState(d),f=0;f<e.length;f++)null!=e[f]&&null!=e[f].node&&b.push(e[f].node);null!=d.control&&null!=d.control.node&&b.push(d.control.node)}}return b}function g(a){if(null!=a){for(var b=0;b<a.length;b++)mxUtils.setPrefixedStyle(a[b].style,"transition",null),a[b].style.opacity="0";window.setTimeout(function(){for(var b=0;b<a.length;b++)mxUtils.setPrefixedStyle(a[b].style,"transition","all 1s ease-in-out"),a[b].style.opacity="1"},0)}}function k(a){if(null!=a){for(var b=0;b<a.length;b++)mxUtils.setPrefixedStyle(a[b].style,
"transition",null),a[b].style.opacity="1";window.setTimeout(function(){for(var b=0;b<a.length;b++)mxUtils.setPrefixedStyle(a[b].style,"transition","all 1s ease-in-out"),a[b].style.opacity="0"},0)}}function l(a){var b=a.absolutePoints.slice(),c=a.segments,d=a.length,e=b.length;return{execute:function(f,g){if(null!=a.shape){for(var k=[b[0]],l=d*f/g,m=1;m<e;m++)if(l<=c[m-1]){k.push(new mxPoint(b[m-1].x+(b[m].x-b[m-1].x)*l/c[m-1],b[m-1].y+(b[m].y-b[m-1].y)*l/c[m-1]));break}else l-=c[m-1],k.push(b[m]);
a.shape.points=k;a.shape.redraw()}},stop:function(){null!=a.shape&&(a.shape.points=b,a.shape.redraw())}}}function m(a){var b=new mxRectangle.fromRectangle(a.shape.bounds),c=null;null!=a.text&&null!=a.text.node&&null!=a.text.node.firstChild&&(c=a.text.node.firstChild.getAttribute("transform"));return{execute:function(d,e){if(null!=a.shape){var f=d/e;a.shape.bounds=new mxRectangle(b.x,b.y,b.width*f,b.height);a.shape.redraw();null!=c&&a.text.node.firstChild.setAttribute("transform",c+" scale("+f+",1)")}},
@ -7241,10 +7242,10 @@ stop:function(){null!=a.shape&&(a.shape.bounds=b,a.shape.redraw(),null!=c&&a.tex
(null!=g.shape&&null!=g.shape.bounds)&&e.push(m(g))}var k=0,n=window.setInterval(d,c);d()}function p(a,b,c){c=null!=c?c:{};c[a.id]=b;for(var d=a.getChildCount(),e=0;e<d;e++)p(a.getChildAt(e),b.getChildAt(e),c);return c}function r(){if(!G){G=E=!0;A.getModel().clear();A.getModel().setRoot(A.cloneCells([a.editor.graph.getModel().getRoot()])[0]);A.maxFitScale=1;A.fit(8);A.center();A.getModel().beginUpdate();try{for(var b in A.getModel().cells){var c=A.getModel().cells[b];if(A.getModel().isVertex(c)||
A.getModel().isEdge(c))A.setCellStyles("opacity","0",[c]),A.setCellStyles("noLabel","1",[c])}}finally{A.getModel().endUpdate()}var d=p(a.editor.graph.getModel().getRoot(),A.getModel().getRoot()),f=y.value.split("\n"),l=0,m=function(){if(E&&l<f.length){var a=f[l].split(" ");if(0<a.length)if("wait"==a[0]&&1<a.length)window.setTimeout(function(){l++;m()},parseFloat(a[1]));else{if(1<a.length){var c=d[a[1]];null!=c?"show"==a[0]?(A.setCellStyles("opacity","100",[c]),A.setCellStyles("noLabel",null,[c]),
2<a.length&&"fade"==a[2]?g(e([c])):n([c])):"hide"==a[0]&&k(e([c])):console.log("cell not found",b,f[l])}l++;m()}}else G=!1};m()}}var s=document.createElement("table");s.style.width="100%";s.style.height="100%";var q=document.createElement("tbody"),t=document.createElement("tr"),v=document.createElement("td");v.style.width="140px";var u=document.createElement("td"),z=document.createElement("tr");z.style.height="40px";var x=document.createElement("td");x.setAttribute("colspan","2");var y=document.createElement("textarea");
y.style.overflow="auto";y.style.width="100%";y.style.height="100%";v.appendChild(y);var F=a.editor.graph.getModel().getRoot();null!=F.value&&"object"==typeof F.value&&(y.value=F.value.getAttribute("animation"));var C=document.createElement("div");C.style.border="1px solid lightGray";C.style.background="#ffffff";C.style.width="100%";C.style.height="100%";C.style.overflow="auto";mxEvent.disableContextMenu(C);u.appendChild(C);var A=new Graph(C);A.setEnabled(!1);A.setPanning(!0);A.foldingEnabled=!1;A.panningHandler.ignoreCell=
!0;A.panningHandler.useLeftButtonForPanning=!0;A.minFitScale=null;A.maxFitScale=null;A.centerZoom=!0;var E=!1,G=!1,C=mxUtils.button("Fade In",function(){var b=a.editor.graph.getSelectionCells();if(0<b.length){for(var c=0;c<b.length;c++)y.value=y.value+"show "+b[c].id+" fade\n";y.value+="wait 1000\n"}});x.appendChild(C);C=mxUtils.button("Wipe In",function(){var b=a.editor.graph.getSelectionCells();if(0<b.length){for(var c=0;c<b.length;c++)y.value=y.value+"show "+b[c].id+"\n";y.value+="wait 1000\n"}});
x.appendChild(C);C=mxUtils.button("Fade Out",function(){var b=a.editor.graph.getSelectionCells();if(0<b.length){for(var c=0;c<b.length;c++)y.value=y.value+"hide "+b[c].id+"\n";y.value+="wait 1000\n"}});x.appendChild(C);C=mxUtils.button("Wait",function(){y.value+="wait 1000\n"});x.appendChild(C);C=mxUtils.button("Preview",function(){r()});x.appendChild(C);C=mxUtils.button("Stop",function(){E=!1;A.getModel().clear()});x.appendChild(C);C=mxUtils.button("Apply",function(){a.editor.graph.setAttributeForCell(F,
"animation",y.value)});x.appendChild(C);F=a.editor.graph.getModel().getRoot();t.appendChild(v);t.appendChild(u);q.appendChild(t);z.appendChild(x);q.appendChild(z);s.appendChild(q);this.window=new mxWindow("Animation",s,c,f,d,b,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0)},AuthDialog=function(a,c,f,d){var b=document.createElement("div");b.style.textAlign="center";var e=document.createElement("p");
y.style.overflow="auto";y.style.width="100%";y.style.height="100%";v.appendChild(y);var F=a.editor.graph.getModel().getRoot();null!=F.value&&"object"==typeof F.value&&(y.value=F.value.getAttribute("animation"));var B=document.createElement("div");B.style.border="1px solid lightGray";B.style.background="#ffffff";B.style.width="100%";B.style.height="100%";B.style.overflow="auto";mxEvent.disableContextMenu(B);u.appendChild(B);var A=new Graph(B);A.setEnabled(!1);A.setPanning(!0);A.foldingEnabled=!1;A.panningHandler.ignoreCell=
!0;A.panningHandler.useLeftButtonForPanning=!0;A.minFitScale=null;A.maxFitScale=null;A.centerZoom=!0;var E=!1,G=!1,B=mxUtils.button("Fade In",function(){var b=a.editor.graph.getSelectionCells();if(0<b.length){for(var c=0;c<b.length;c++)y.value=y.value+"show "+b[c].id+" fade\n";y.value+="wait 1000\n"}});x.appendChild(B);B=mxUtils.button("Wipe In",function(){var b=a.editor.graph.getSelectionCells();if(0<b.length){for(var c=0;c<b.length;c++)y.value=y.value+"show "+b[c].id+"\n";y.value+="wait 1000\n"}});
x.appendChild(B);B=mxUtils.button("Fade Out",function(){var b=a.editor.graph.getSelectionCells();if(0<b.length){for(var c=0;c<b.length;c++)y.value=y.value+"hide "+b[c].id+"\n";y.value+="wait 1000\n"}});x.appendChild(B);B=mxUtils.button("Wait",function(){y.value+="wait 1000\n"});x.appendChild(B);B=mxUtils.button("Preview",function(){r()});x.appendChild(B);B=mxUtils.button("Stop",function(){E=!1;A.getModel().clear()});x.appendChild(B);B=mxUtils.button("Apply",function(){a.editor.graph.setAttributeForCell(F,
"animation",y.value)});x.appendChild(B);F=a.editor.graph.getModel().getRoot();t.appendChild(v);t.appendChild(u);q.appendChild(t);z.appendChild(x);q.appendChild(z);s.appendChild(q);this.window=new mxWindow("Animation",s,c,f,d,b,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0)},AuthDialog=function(a,c,f,d){var b=document.createElement("div");b.style.textAlign="center";var e=document.createElement("p");
e.style.fontSize="16pt";e.style.padding="0px";e.style.margin="0px";e.style.color="gray";mxUtils.write(e,mxResources.get("authorizationRequired"));var g="Unknown",k=document.createElement("img");k.setAttribute("border","0");k.setAttribute("align","absmiddle");k.style.marginRight="10px";c==a.drive?(g=mxResources.get("googleDrive"),k.src=IMAGE_PATH+"/google-drive-logo-white.svg"):c==a.dropbox?(g=mxResources.get("dropbox"),k.src=IMAGE_PATH+"/dropbox-logo-white.svg"):c==a.oneDrive&&(g=mxResources.get("oneDrive"),
k.src=IMAGE_PATH+"/onedrive-logo-white.svg");c=document.createElement("p");mxUtils.write(c,mxResources.get("authorizeThisAppIn",[g]));var l=document.createElement("input");l.setAttribute("type","checkbox");g=mxUtils.button(mxResources.get("authorize"),function(){a.hideDialog(!1);d(l.checked)});g.insertBefore(k,g.firstChild);g.style.marginTop="6px";g.className="geBigButton";b.appendChild(e);b.appendChild(c);b.appendChild(g);f&&(f=document.createElement("p"),f.style.marginTop="20px",f.appendChild(l),
e=document.createElement("span"),mxUtils.write(e," "+mxResources.get("rememberMe")),f.appendChild(e),b.appendChild(f),l.checked=!0,l.defaultChecked=!0,mxEvent.addListener(e,"click",function(a){l.checked=!l.checked;mxEvent.consume(a)}));this.container=b},MoreShapesDialog=function(a,c,f){f=null!=f?f:a.sidebar.entries;var d=document.createElement("div");if(c){c=document.createElement("div");c.className="geDialogTitle";mxUtils.write(c,mxResources.get("shapes"));c.style.position="absolute";c.style.top=
@ -7268,15 +7269,15 @@ mxUtils.write(l,mxResources.get("width")+":");var r=document.createElement("inpu
k.appendChild(l);k.appendChild(m);g.appendChild(k);k=document.createElement("tr");l=document.createElement("td");m=document.createElement("td");mxUtils.write(l,mxResources.get("rotation")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value=1==c.length?mxUtils.getValue(f.getCellStyle(c[0]),mxConstants.STYLE_ROTATION,0):"";m.appendChild(q);k.appendChild(l);k.appendChild(m);g.appendChild(k);e.appendChild(g);b.appendChild(e);var d=mxUtils.button(mxResources.get("cancel"),
function(){a.hideDialog()}),t=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();f.getModel().beginUpdate();try{for(var b=0;b<c.length;b++){var d=f.getCellGeometry(c[b]);null!=d&&(d=d.clone(),f.isCellMovable(c[b])&&(0<mxUtils.trim(n.value).length&&(d.x=Number(n.value)),0<mxUtils.trim(p.value).length&&(d.y=Number(p.value))),f.isCellResizable(c[b])&&(0<mxUtils.trim(r.value).length&&(d.width=Number(r.value)),0<mxUtils.trim(s.value).length&&(d.height=Number(s.value))),f.getModel().setGeometry(c[b],
d));0<mxUtils.trim(q.value).length&&f.setCellStyles(mxConstants.STYLE_ROTATION,Number(q.value),[c[b]])}}finally{f.getModel().endUpdate()}});mxEvent.addListener(b,"keypress",function(a){13==a.keyCode&&t.click()});e=document.createElement("div");e.style.marginTop="20px";e.style.textAlign="right";a.editor.cancelFirst?(e.appendChild(d),e.appendChild(t)):(e.appendChild(t),e.appendChild(d));b.appendChild(e);this.container=b},LibraryDialog=function(a,c,f,d,b,e){function g(a){for(a=document.elementFromPoint(a.clientX,
a.clientY);null!=a&&a.parentNode!=s;)a=a.parentNode;var b=null;if(null!=a)for(var c=s.firstChild,b=0;null!=c&&c!=a;)c=c.nextSibling,b++;return b}function k(b,c,d,e,f,l,m,r,p){try{if(null==c||"image/"==c.substring(0,6))if(null==b&&null!=m||null==t[b]){s.style.backgroundImage="";q.style.display="none";var x=f,C=l;if(f>a.maxImageSize||l>a.maxImageSize){var D=Math.min(1,Math.min(a.maxImageSize/Math.max(1,f)),a.maxImageSize/Math.max(1,l));f*=D;l*=D}x>C?(C=Math.round(C*v/x),x=v):(x=Math.round(x*u/C),C=
u);var Q=document.createElement("div");Q.setAttribute("draggable","true");Q.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";Q.style.position="relative";Q.style.cursor="move";mxUtils.setPrefixedStyle(Q.style,"transition","transform .1s ease-in-out");if(null!=b){var P=document.createElement("img");P.setAttribute("src",F.convert(b));P.style.width=x+"px";P.style.height=C+"px";P.style.margin="10px";P.style.paddingBottom=Math.floor((u-C)/2)+"px";P.style.paddingLeft=Math.floor((v-x)/2)+"px";Q.appendChild(P)}else if(null!=
a.clientY);null!=a&&a.parentNode!=s;)a=a.parentNode;var b=null;if(null!=a)for(var c=s.firstChild,b=0;null!=c&&c!=a;)c=c.nextSibling,b++;return b}function k(b,c,d,e,f,l,m,r,p){try{if(null==c||"image/"==c.substring(0,6))if(null==b&&null!=m||null==t[b]){s.style.backgroundImage="";q.style.display="none";var x=f,B=l;if(f>a.maxImageSize||l>a.maxImageSize){var D=Math.min(1,Math.min(a.maxImageSize/Math.max(1,f)),a.maxImageSize/Math.max(1,l));f*=D;l*=D}x>B?(B=Math.round(B*v/x),x=v):(x=Math.round(x*u/B),B=
u);var Q=document.createElement("div");Q.setAttribute("draggable","true");Q.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";Q.style.position="relative";Q.style.cursor="move";mxUtils.setPrefixedStyle(Q.style,"transition","transform .1s ease-in-out");if(null!=b){var P=document.createElement("img");P.setAttribute("src",F.convert(b));P.style.width=x+"px";P.style.height=B+"px";P.style.margin="10px";P.style.paddingBottom=Math.floor((u-B)/2)+"px";P.style.paddingLeft=Math.floor((v-x)/2)+"px";Q.appendChild(P)}else if(null!=
m){var N=a.stringToCells(a.editor.graph.decompress(m.xml));0<N.length&&(a.sidebar.createThumb(N,v,u,Q,null,!0,!1),Q.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",Q.firstChild.style.cursor="")}var V=document.createElement("img");V.setAttribute("src",Editor.closeImage);V.setAttribute("border","0");V.setAttribute("title",mxResources.get("delete"));V.setAttribute("align","top");V.style.paddingTop="4px";V.style.marginLeft="-22px";V.style.cursor="pointer";mxEvent.addListener(V,"dragstart",
function(a){mxEvent.consume(a)});null==b&&null!=m&&(V.style.position="relative");(function(a,c){mxEvent.addListener(V,"click",function(d){t[b]=null;for(var e=0;e<n.length;e++)if(null!=b&&n[e].data==c||null!=m&&n[e].xml==m.xml){n.splice(e,1);break}Q.parentNode.removeChild(a);0==n.length&&(s.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",q.style.display="");mxEvent.consume(d)});mxEvent.addListener(V,"dblclick",function(a){mxEvent.consume(a)})})(Q,b,m);Q.appendChild(V);Q.style.marginBottom=
"30px";var L=document.createElement("div");L.style.position="absolute";L.style.boxSizing="border-box";L.style.bottom="-18px";L.style.left="10px";L.style.right="10px";L.style.backgroundColor="#ffffff";L.style.overflow="hidden";L.style.textAlign="center";var M=null;null!=b?(M={data:b,w:f,h:l,title:p},null!=r&&(M.aspect=r),t[b]=P,n.push(M)):null!=m&&(m.aspect="fixed",n.push(m),M=m);var R=function(){L.innerHTML="";L.style.cursor="pointer";L.style.whiteSpace="nowrap";L.style.textOverflow="ellipsis";mxUtils.write(L,
null!=M.title&&0<M.title.length?M.title:mxResources.get("untitled"));L.style.color=null==M.title||0==M.title.length?"#d0d0d0":""};mxEvent.addListener(L,"keydown",function(a){13==a.keyCode&&null!=y&&(y(),y=null,mxEvent.consume(a))});R();Q.appendChild(L);mxEvent.addListener(L,"mousedown",function(a){mxEvent.consume(a)});f=function(b){if(!mxClient.IS_IOS&&!mxClient.IS_QUIRKS&&!mxClient.IS_FF&&(null==document.documentMode||9<document.documentMode)){if("true"!=L.getAttribute("contentEditable")){null!=
y&&(y(),y=null);if(null==M.title||0==M.title.length)L.innerHTML="";L.style.textOverflow="";L.style.whiteSpace="";L.style.cursor="text";L.style.color="";L.setAttribute("contentEditable","true");L.focus();document.execCommand("selectAll",!1,null);y=function(){L.removeAttribute("contentEditable");L.style.cursor="pointer";M.title=L.innerHTML;R()}}}else{var c=new FilenameDialog(a,M.title||"",mxResources.get("ok"),function(a){null!=a&&(M.title=a,R())},mxResources.get("enterValue"));a.showDialog(c.container,
300,80,!0,!0);c.init()}mxEvent.consume(b)};mxEvent.addListener(L,"click",f);mxEvent.addListener(Q,"dblclick",f);s.appendChild(Q);mxEvent.addListener(Q,"dragstart",function(a){null==b&&null!=m&&(V.style.visibility="hidden",L.style.visibility="hidden");mxClient.IS_FF&&null!=m.xml&&a.dataTransfer.setData("Text",m.xml);z=g(a);mxClient.IS_GC&&(Q.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(Q.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(Q,30);V.style.visibility="";
L.style.visibility=""},0)});mxEvent.addListener(Q,"dragend",function(a){"hidden"==V.style.visibility&&(V.style.visibility="",L.style.visibility="");z=null;mxUtils.setOpacity(Q,100);mxUtils.setPrefixedStyle(Q.style,"transform",null)})}else a.handleError({message:mxResources.get("fileExists")});else{f=!1;try{if(null!=b&&"\x3cmxlibrary"==b.substring(0,10)){C=mxUtils.parseXml(b);x=JSON.parse(mxUtils.getTextContent(C.documentElement));if(null!=x&&0<x.length)for(l=0;l<x.length;l++)null!=x[l].xml?k(null,
L.style.visibility=""},0)});mxEvent.addListener(Q,"dragend",function(a){"hidden"==V.style.visibility&&(V.style.visibility="",L.style.visibility="");z=null;mxUtils.setOpacity(Q,100);mxUtils.setPrefixedStyle(Q.style,"transform",null)})}else a.handleError({message:mxResources.get("fileExists")});else{f=!1;try{if(null!=b&&"\x3cmxlibrary"==b.substring(0,10)){B=mxUtils.parseXml(b);x=JSON.parse(mxUtils.getTextContent(B.documentElement));if(null!=x&&0<x.length)for(l=0;l<x.length;l++)null!=x[l].xml?k(null,
null,0,0,0,0,x[l]):k(x[l].data,null,0,0,x[l].w,x[l].h,null,"fixed",x[l].title);a.spinner.stop();f=!0}}catch(X){}f||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(da){console.log("e",da)}return null}function l(a){a.dataTransfer.dropEffect=null!=z?"move":"copy";a.stopPropagation();a.preventDefault()}function m(b){b.stopPropagation();b.preventDefault();x=g(b);if(null!=z)null!=x&&x<s.children.length?(n.splice(x>z?x-1:x,0,n.splice(z,1)[0]),s.insertBefore(s.children[z],
s.children[x])):(n.push(n.splice(z,1)[0]),s.appendChild(s.children[z]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,function(a,c,d,e,f,g,l){k(a,c,d,e,f,g,l,"fixed",mxEvent.isAltDown(b)?null:l.substring(0,l.lastIndexOf(".")).replace(/_/g," "))});else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=decodeURIComponent(b.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(c)||/(\.png)($|\?)/i.test(c)||/(\.gif)($|\?)/i.test(c)||
/(\.svg)($|\?)/i.test(c))&&a.loadImage(c,function(a){k(c,null,0,0,a.width,a.height)})}b.stopPropagation();b.preventDefault()}var n=[];f=document.createElement("div");f.style.height="100%";var p=document.createElement("div");p.style.whiteSpace="nowrap";p.style.height="40px";f.appendChild(p);mxUtils.write(p,mxResources.get("filename")+":");null==c&&(c=a.defaultLibraryName+".xml");var r=document.createElement("input");r.setAttribute("value",c);r.style.marginRight="20px";r.style.marginLeft="10px";r.style.width=
@ -7284,8 +7285,8 @@ s.children[x])):(n.push(n.splice(z,1)[0]),s.appendChild(s.children[z]));else if(
s.style.backgroundRepeat="no-repeat";0==n.length&&Graph.fileSupport&&(s.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var q=document.createElement("div");q.style.position="absolute";q.style.width="640px";q.style.top="260px";q.style.textAlign="center";q.style.fontSize="22px";q.style.color="#a0c3ff";mxUtils.write(q,mxResources.get("dragImagesHere"));f.appendChild(q);var t={},v=100,u=100,z=null,x=null,y=null;c=function(a){"true"!=mxEvent.getSource(a).getAttribute("contentEditable")&&
null!=y&&(y(),y=null,mxEvent.consume(a))};mxEvent.addListener(s,"mousedown",c);mxEvent.addListener(s,"pointerdown",c);mxEvent.addListener(s,"touchstart",c);var F=new mxUrlConverter;if(null!=d)for(c=0;c<d.length;c++)p=d[c],k(p.data,null,0,0,p.w,p.h,p);mxEvent.addListener(s,"dragleave",function(a){q.style.cursor="";for(var b=mxEvent.getSource(a);null!=b;){if(b==s||b==q){a.stopPropagation();a.preventDefault();break}b=b.parentNode}});mxEvent.addListener(s,"dragover",l);mxEvent.addListener(s,"drop",m);
mxEvent.addListener(q,"dragover",l);mxEvent.addListener(q,"drop",m);f.appendChild(s);d=document.createElement("div");d.style.textAlign="right";d.style.marginTop="20px";c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});c.setAttribute("id","btnCancel");c.className="geBtn";a.editor.cancelFirst&&d.appendChild(c);!window.chrome||!chrome.app||!chrome.app.runtime?(p=mxUtils.button(mxResources.get("export"),function(){var b=a.createLibraryDataFromImages(n),c=r.value;/(\.xml)$/i.test(c)||
(c+=".xml");a.isLocalFileSave()?a.saveLocalFile(b,c,"text/xml"):(new mxXmlRequest(SAVE_URL,"filename\x3d"+encodeURIComponent(c)+"\x26format\x3dxml\x26xml\x3d"+encodeURIComponent(b))).simulate(document,"_blank")}),p.setAttribute("id","btnDownload"),p.className="geBtn",d.appendChild(p)):r.setAttribute("disabled","disabled");var C=document.createElement("input");C.setAttribute("multiple","multiple");C.setAttribute("type","file");null==document.documentMode&&(mxEvent.addListener(C,"change",function(b){a.importFiles(C.files,
0,0,a.maxImageSize,function(a,b,c,d,e,f,g){k(a,b,c,d,e,f,g,"fixed");C.value=""})}),p=mxUtils.button(mxResources.get("import"),function(){null!=y&&(y(),y=null);C.click()}),p.setAttribute("id","btnAddImage"),p.className="geBtn",d.appendChild(p));p=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=y&&(y(),y=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(a,b,c){if(null!=a){if("data:image/"==a.substring(0,11)){var d=a.indexOf(",");0<d&&(a=a.substring(0,d)+";base64,"+a.substring(d+
(c+=".xml");a.isLocalFileSave()?a.saveLocalFile(b,c,"text/xml"):(new mxXmlRequest(SAVE_URL,"filename\x3d"+encodeURIComponent(c)+"\x26format\x3dxml\x26xml\x3d"+encodeURIComponent(b))).simulate(document,"_blank")}),p.setAttribute("id","btnDownload"),p.className="geBtn",d.appendChild(p)):r.setAttribute("disabled","disabled");var B=document.createElement("input");B.setAttribute("multiple","multiple");B.setAttribute("type","file");null==document.documentMode&&(mxEvent.addListener(B,"change",function(b){a.importFiles(B.files,
0,0,a.maxImageSize,function(a,b,c,d,e,f,g){k(a,b,c,d,e,f,g,"fixed");B.value=""})}),p=mxUtils.button(mxResources.get("import"),function(){null!=y&&(y(),y=null);B.click()}),p.setAttribute("id","btnAddImage"),p.className="geBtn",d.appendChild(p));p=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=y&&(y(),y=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(a,b,c){if(null!=a){if("data:image/"==a.substring(0,11)){var d=a.indexOf(",");0<d&&(a=a.substring(0,d)+";base64,"+a.substring(d+
1))}k(a,null,0,0,b,c)}})});p.setAttribute("id","btnAddImageUrl");p.className="geBtn";d.appendChild(p);this.saveBtnClickHandler=function(b,c,d,e){a.saveLibrary(b,c,d,e)};p=mxUtils.button(mxResources.get("save"),mxUtils.bind(this,function(){null!=y&&(y(),y=null);this.saveBtnClickHandler(r.value,n,b,e)}));p.setAttribute("id","btnSave");p.className="geBtn gePrimaryBtn";d.appendChild(p);a.editor.cancelFirst||d.appendChild(c);f.appendChild(d);this.container=f},EditShapeDialog=function(a,c,f,d,b){d=null!=
d?d:300;b=null!=b?b:120;var e,g,k=document.createElement("table"),l=document.createElement("tbody");k.style.cellPadding="4px";e=document.createElement("tr");g=document.createElement("td");g.setAttribute("colspan","2");g.style.fontSize="10pt";mxUtils.write(g,f);e.appendChild(g);l.appendChild(e);e=document.createElement("tr");g=document.createElement("td");var m=document.createElement("textarea");m.style.outline="none";m.style.resize="none";m.style.width=d-200+"px";m.style.height=b+"px";this.textarea=
m;this.init=function(){m.focus();m.scrollTop=0};g.appendChild(m);e.appendChild(g);g=document.createElement("td");f=document.createElement("div");f.style.position="relative";f.style.border="1px solid gray";f.style.top="6px";f.style.width="200px";f.style.height=b+4+"px";f.style.overflow="hidden";f.style.marginBottom="16px";mxEvent.disableContextMenu(f);g.appendChild(f);var n=new Graph(f);n.setEnabled(!1);var p=a.editor.graph.cloneCells([c])[0];n.addCells([p]);f=n.view.getState(p);var r="";null!=f.shape&&
@ -7294,7 +7295,7 @@ a.editor.cancelFirst&&g.appendChild(b);a.isOffline()||(f=mxUtils.button(mxResour
a.hideDialog(),f=!b.model.contains(c),!d||f||e!=r){e=a.editor.graph.compress(e);b.getModel().beginUpdate();try{if(f){var g=a.editor.graph.getInsertPoint();c.geometry.x=g.x;c.geometry.y=g.y;b.addCell(c)}b.setCellStyles(mxConstants.STYLE_SHAPE,"stencil("+e+")",[c])}catch(k){throw k;}finally{b.getModel().endUpdate()}f&&b.setSelectionCell(c)}};f=mxUtils.button(mxResources.get("preview"),function(){s(n,p,!1)});f.className="geBtn";g.appendChild(f);f=mxUtils.button(mxResources.get("apply"),function(){s(a.editor.graph,
c,!0)});f.className="geBtn gePrimaryBtn";g.appendChild(f);a.editor.cancelFirst||g.appendChild(b);e.appendChild(g);l.appendChild(e);k.appendChild(l);this.container=k},CustomDialog=function(a,c,f,d,b,e){var g=document.createElement("div");g.appendChild(c);c=document.createElement("div");c.style.marginTop="16px";c.style.textAlign="center";var k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d()});k.className="geBtn";a.editor.cancelFirst&&c.appendChild(k);if(!a.isOffline()&&
null!=e){var l=mxUtils.button(mxResources.get("help"),function(){window.open(e)});l.className="geBtn";c.appendChild(l)}b=mxUtils.button(b||mxResources.get("ok"),function(){a.hideDialog();null!=f&&f()});c.appendChild(b);b.className="geBtn gePrimaryBtn";a.editor.cancelFirst||c.appendChild(k);g.appendChild(c);this.container=g};
(function(){EditorUi.VERSION="5.7.2.3";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.isElectronApp=window&&window.process&&window.process.type;"1"==urlParams.dev&&(Editor.prototype.editBlankUrl+="\x26dev\x3d1",Editor.prototype.editBlankFallbackUrl+="\x26dev\x3d1");(function(){EditorUi.prototype.useCanvasForExport=!1;try{var a=document.createElement("canvas"),b=new Image;b.onload=function(){try{a.getContext("2d").drawImage(b,0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=
(function(){EditorUi.VERSION="5.7.2.5";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.isElectronApp=window&&window.process&&window.process.type;"1"==urlParams.dev&&(Editor.prototype.editBlankUrl+="\x26dev\x3d1",Editor.prototype.editBlankFallbackUrl+="\x26dev\x3d1");(function(){EditorUi.prototype.useCanvasForExport=!1;try{var a=document.createElement("canvas"),b=new Image;b.onload=function(){try{a.getContext("2d").drawImage(b,0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=
null!=c&&6<c.length}catch(d){}};b.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('\x3csvg xmlns\x3d"http://www.w3.org/2000/svg" xmlns:xlink\x3d"http://www.w3.org/1999/xlink" width\x3d"1px" height\x3d"1px" version\x3d"1.1"\x3e\x3cforeignObject pointer-events\x3d"all" width\x3d"1" height\x3d"1"\x3e\x3cdiv xmlns\x3d"http://www.w3.org/1999/xhtml"\x3e\x3c/div\x3e\x3c/foreignObject\x3e\x3c/svg\x3e')))}catch(c){}})();Editor.initMath=function(a,b){a=null!=a?a:"https://cdn.mathjax.org/mathjax/2.6-latest/MathJax.js?config\x3dTeX-MML-AM_HTMLorMML";
Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(a){MathJax.Hub.Queue(["Typeset",MathJax.Hub,a])};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(b||{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}});
MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<Editor.mathJaxQueue.length;a++)Editor.doMathJaxRender(Editor.mathJaxQueue[a])})}};Editor.MathJaxRender=function(a){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(a):Editor.mathJaxQueue.push(a)};Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};Editor.prototype.init=function(){this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,b){this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};
@ -7373,7 +7374,7 @@ k&&k(b)}}),g)):/(\.vsdx)($|\?)/i.test(g)?(new mxVsdxModel).decode(l):p=this.inse
this.importFile(a,b,c,d,e,f,g,k,l,p)});f=null!=f?f:mxUtils.bind(this,function(a){E.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var H=a.length,I=H,J=[],K=mxUtils.bind(this,function(a,b){J[a]=b;if(0==--I){this.spinner.stop();if(null!=k)k(J);else{var c=[];E.getModel().beginUpdate();try{for(var d=0;d<J.length;d++){var e=J[d]();null!=e&&(c=c.concat(e))}}finally{E.getModel().endUpdate()}}f(c)}}),O=0;O<H;O++)mxUtils.bind(this,function(f){var k=a[f],p=new FileReader;
p.onload=mxUtils.bind(this,function(a){if(null==g||g(k))if("image/"==k.type.substring(0,6))if("image/svg"==k.type.substring(0,9)){var p=a.target.result,r=p.indexOf(","),u=atob(p.substring(r+1)),x=mxUtils.parseXml(u),u=x.getElementsByTagName("svg");if(0<u.length){var A=u[0].getAttribute("content");null!=A&&"\x3c"!=A.charAt(0)&&"%"!=A.charAt(0)&&(A=unescape(window.atob?atob(A):Base64.decode(A,!0)));null!=A&&"%"==A.charAt(0)&&(A=decodeURIComponent(A));null!=A&&("\x3cmxfile "===A.substring(0,8)||"\x3cmxGraphModel "===
A.substring(0,14))?K(f,mxUtils.bind(this,function(){return e(A,"text/xml",b+f*G,c+f*G,0,0,k.name)})):K(f,mxUtils.bind(this,function(){try{if(p.substring(0,r+1),null!=x){var a=x.getElementsByTagName("svg");if(0<a.length){var g=a[0],l=parseFloat(g.getAttribute("width")),m=parseFloat(g.getAttribute("height")),n=g.getAttribute("viewBox");if(null==n||0==n.length)g.setAttribute("viewBox","0 0 "+l+" "+m);else if(isNaN(l)||isNaN(m)){var u=n.split(" ");3<u.length&&(l=parseFloat(u[2]),m=parseFloat(u[3]))}p=
this.createSvgDataUri(mxUtils.getXml(a[0]));var z=Math.min(1,Math.min(d/Math.max(1,l)),d/Math.max(1,m));return e(p,k.type,b+f*G,c+f*G,Math.max(1,Math.round(l*z)),Math.max(1,Math.round(m*z)),k.name)}}}catch(y){}return null}))}}else{u=!1;if("image/png"==k.type){var E=this.extractGraphModelFromPng(a.target.result);if(null!=E&&0<E.length){var B=new Image;B.src=a.target.result;K(f,mxUtils.bind(this,function(){return e(E,"text/xml",b+f*G,c+f*G,B.width,B.height,k.name)}));u=!0}}u||(null!=window.chrome&&
this.createSvgDataUri(mxUtils.getXml(a[0]));var z=Math.min(1,Math.min(d/Math.max(1,l)),d/Math.max(1,m));return e(p,k.type,b+f*G,c+f*G,Math.max(1,Math.round(l*z)),Math.max(1,Math.round(m*z)),k.name)}}}catch(y){}return null}))}}else{u=!1;if("image/png"==k.type){var E=this.extractGraphModelFromPng(a.target.result);if(null!=E&&0<E.length){var C=new Image;C.src=a.target.result;K(f,mxUtils.bind(this,function(){return e(E,"text/xml",b+f*G,c+f*G,C.width,C.height,k.name)}));u=!0}}u||(null!=window.chrome&&
null!=chrome.app&&null!=chrome.app.runtime?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,n,p){K(f,mxUtils.bind(this,function(){if(null!=g&&g.length<m){var r=!l||!this.isResampleImage(a.target.result)?
1:Math.min(1,Math.min(d/n,d/p));return e(g,k.type,b+f*G,c+f*G,Math.round(n*r),Math.round(p*r),k.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),l,d,n)})))}else e(a.target.result,k.type,b+f*G,c+f*G,240,160,k.name,function(a){K(f,function(){return a})})});/(\.vsdx)($|\?)/i.test(k.name)?e(null,k.type,b+f*G,c+f*G,240,160,k.name,function(a){K(f,function(){return a})},k):"image"==k.type.substring(0,5)?p.readAsDataURL(k):p.readAsText(k)})(O)};EditorUi.prototype.parseFile=
function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,f){e=null!=e?e:this.maxImageSize;var g=Math.max(1,a.width),k=Math.max(1,a.height);if(d&&this.isResampleImage(b,f))try{var l=Math.max(g/e,k/e);if(1<l){var m=
@ -7465,24 +7466,26 @@ STENCIL_PATH+"/electrical/mosfets2.xml",STENCIL_PATH+"/electrical/transistors.xm
[STENCIL_PATH+"/pid/flow_sensors.xml"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js",STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.citrix=[STENCIL_PATH+"/citrix.xml"];mxStencilRegistry.libraries.archimate=
[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxMarker.getPackageForType=function(a){var b=null;null!=a&&0<a.length&&
("ER"==a.substring(0,2)?b="mxgraph.er":"sysML"==a.substring(0,5)&&(b="mxgraph.sysml"));return b};var p=mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,d,e,f,g,k,l,m){if(null!=c&&null==mxMarker.markers[c]){var n=this.getPackageForType(c);null!=n&&mxStencilRegistry.getStencil(n)}return p.apply(this,arguments)}})();
var mxSettings={key:".drawio-config",settings:{language:"",libraries:Sidebar.prototype.defaultEntries,customLibraries:[],plugins:[],formatWidth:"240",currentEdgeStyle:Graph.prototype.defaultEdgeStyle,currentVertexStyle:{},createTarget:!1,pageFormat:mxGraph.prototype.pageFormat,search:!0,showStartScreen:!0,gridColor:mxGraphView.prototype.gridColor,autosave:!0,version:12,isNew:!0},getLanguage:function(){return this.settings.language},setLanguage:function(a){this.settings.language=a},getUi:function(){return this.settings.ui},
setUi:function(a){this.settings.ui=a},getShowStartScreen:function(){return this.settings.showStartScreen},setShowStartScreen:function(a){this.settings.showStartScreen=a},getGridColor:function(){return this.settings.gridColor},setGridColor:function(a){this.settings.gridColor=a},getAutosave:function(){return this.settings.autosave},setAutosave:function(a){this.settings.autosave=a},getLibraries:function(){return this.settings.libraries},setLibraries:function(a){this.settings.libraries=a},addCustomLibrary:function(a){mxSettings.load();
0>mxUtils.indexOf(this.settings.customLibraries,a)&&this.settings.customLibraries.push(a);mxSettings.save()},removeCustomLibrary:function(a){mxSettings.load();mxUtils.remove(a,this.settings.customLibraries);mxSettings.save()},getCustomLibraries:function(){return this.settings.customLibraries},getPlugins:function(){return this.settings.plugins},setPlugins:function(a){this.settings.plugins=a},getFormatWidth:function(){return parseInt(this.settings.formatWidth)},setFormatWidth:function(a){this.settings.formatWidth=
a},getCurrentEdgeStyle:function(){return this.settings.currentEdgeStyle},setCurrentEdgeStyle:function(a){this.settings.currentEdgeStyle=a},getCurrentVertexStyle:function(){return this.settings.currentVertexStyle},setCurrentVertexStyle:function(a){this.settings.currentVertexStyle=a},isCreateTarget:function(){return this.settings.createTarget},setCreateTarget:function(a){this.settings.createTarget=a},getPageFormat:function(){return this.settings.pageFormat},setPageFormat:function(a){this.settings.pageFormat=
a},save:function(){if(isLocalStorage&&"undefined"!==typeof JSON)try{delete this.settings.isNew,this.settings.version=12,localStorage.setItem(mxSettings.key,JSON.stringify(this.settings))}catch(a){}},load:function(){isLocalStorage&&"undefined"!==typeof JSON&&mxSettings.parse(localStorage.getItem(mxSettings.key))},parse:function(a){null!=a&&(this.settings=JSON.parse(a),null==this.settings.plugins&&(this.settings.plugins=[]),null==this.settings.libraries&&(this.settings.libraries=Sidebar.prototype.defaultEntries),
null==this.settings.customLibraries&&(this.settings.customLibraries=[]),null==this.settings.ui&&(this.settings.ui=""),null==this.settings.formatWidth&&(this.settings.formatWidth="240"),null!=this.settings.lastAlert&&delete this.settings.lastAlert,null==this.settings.currentEdgeStyle?this.settings.currentEdgeStyle=Graph.prototype.defaultEdgeStyle:10>=this.settings.version&&(this.settings.currentEdgeStyle.orthogonalLoop=1,this.settings.currentEdgeStyle.jettySize="auto"),null==this.settings.currentVertexStyle&&
(this.settings.currentVertexStyle={}),null==this.settings.createTarget&&(this.settings.createTarget=!1),null==this.settings.pageFormat&&(this.settings.pageFormat=mxGraph.prototype.pageFormat),null==this.settings.search&&(this.settings.search=!0),null==this.settings.showStartScreen&&(this.settings.showStartScreen=!0),null==this.settings.gridColor&&(this.settings.gridColor=mxGraphView.prototype.gridColor),null==this.settings.autosave&&(this.settings.autosave=!0),null!=this.settings.scratchpadSeen&&
delete this.settings.scratchpadSeen)},clear:function(){isLocalStorage&&localStorage.removeItem(mxSettings.key)}};("undefined"==typeof mxLoadSettings||mxLoadSettings)&&mxSettings.load();
App=function(a,c,f){EditorUi.call(this,a,c,null!=f?f:"1"==urlParams.lightbox);mxClient.IS_SVG?mxGraph.prototype.warningImage.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAE7SURBVHjaYvz//z8DJQAggBjwGXDuHMP/tWuD/uPTCxBAOA0AaQRK/f/+XeJ/cbHlf1wGAAQQTgPu3QNLgfHSpZo4DQAIIKwGwGyH4e/fFbG6AiQJEEAs2Ew2NFzH8OOHBMO6dT/A/KCg7wxGRh+wuhQggDBcALMdFIAcHBxgDGJjcwVIIUAAYbhAUXEdVos4OO4DXcGBIQ4QQCguQPY7sgtgAYruCpAgQACx4LJdU1OCwctLEcyWlLwPJF+AXQE0EMUBAAEEdwF6yMOiD4RRY0QT7gqQAEAAseDzu6XldYYPH9DD4joQa8L5AAEENgWb7SBcXa0JDQMBrK4AcQACiAlfyOMCEFdAnAYQQEz4FLa0XGf4/v0H0IIPONUABBAjyBmMjIwMS5cK/L927QORbtBkaG29DtYLEGAAH6f7oq3Zc+kAAAAASUVORK5CYII\x3d":(new Image).src=
mxGraph.prototype.warningImage.src;window.openWindow=mxUtils.bind(this,function(a,c,d){var f=window.open(a);null==f||void 0===f?this.showDialog((new PopupDialog(this,a,c,d)).container,320,140,!0,!0):null!=c&&c()});this.updateUi();a=document.createElement("canvas");this.canvasSupported=!(!a.getContext||!a.getContext("2d"));window.showOpenAlert=mxUtils.bind(this,function(a){null!=window.openFile&&window.openFile.cancel(!0);this.handleError(a)});this.isOffline()||(EditDataDialog.placeholderHelpLink=
"https://support.draw.io/questions/9338941");this.addFileDropHandler([document]);if(null!=App.DrawPlugins){for(a=0;a<App.DrawPlugins.length;a++)try{App.DrawPlugins[a](this)}catch(d){null!=window.console&&console.log("Plugin Error:",d,App.DrawPlugins[a])}window.Draw.loadPlugin=function(a){a(this)}}this.load()};App.ERROR_TIMEOUT="timeout";App.ERROR_BUSY="busy";App.ERROR_UNKNOWN="unknown";App.MODE_GOOGLE="google";App.MODE_DROPBOX="dropbox";App.MODE_ONEDRIVE="onedrive";App.MODE_DEVICE="device";
App.MODE_BROWSER="browser";App.DROPBOX_APPKEY="libwls2fa9szdji";App.pluginRegistry={"4xAKTrabTpTzahoLthkwPNUn":"/plugins/explore.js",ex:"/plugins/explore.js",p1:"/plugins/p1.js",ac:"/plugins/connect.js",acj:"/plugins/connectJira.js",voice:"/plugins/voice.js",tips:"/plugins/tooltips.js",svgdata:"/plugins/svgdata.js",doors:"/plugins/doors.js",electron:"plugins/electron.js",tags:"/plugins/tags.js",sql:"/plugins/sql.js",find:"/plugins/find.js"};
var mxSettings={key:".drawio-config",settings:{language:"",libraries:Sidebar.prototype.defaultEntries,customLibraries:[],plugins:[],recentColors:[],formatWidth:"240",currentEdgeStyle:Graph.prototype.defaultEdgeStyle,currentVertexStyle:{},createTarget:!1,pageFormat:mxGraph.prototype.pageFormat,search:!0,showStartScreen:!0,gridColor:mxGraphView.prototype.gridColor,autosave:!0,version:13,isNew:!0},getLanguage:function(){return this.settings.language},setLanguage:function(a){this.settings.language=a},
getUi:function(){return this.settings.ui},setUi:function(a){this.settings.ui=a},getShowStartScreen:function(){return this.settings.showStartScreen},setShowStartScreen:function(a){this.settings.showStartScreen=a},getGridColor:function(){return this.settings.gridColor},setGridColor:function(a){this.settings.gridColor=a},getAutosave:function(){return this.settings.autosave},setAutosave:function(a){this.settings.autosave=a},getLibraries:function(){return this.settings.libraries},setLibraries:function(a){this.settings.libraries=
a},addCustomLibrary:function(a){mxSettings.load();0>mxUtils.indexOf(this.settings.customLibraries,a)&&this.settings.customLibraries.push(a);mxSettings.save()},removeCustomLibrary:function(a){mxSettings.load();mxUtils.remove(a,this.settings.customLibraries);mxSettings.save()},getCustomLibraries:function(){return this.settings.customLibraries},getPlugins:function(){return this.settings.plugins},setPlugins:function(a){this.settings.plugins=a},getRecentColors:function(){return this.settings.recentColors},
setRecentColors:function(a){this.settings.recentColors=a},getFormatWidth:function(){return parseInt(this.settings.formatWidth)},setFormatWidth:function(a){this.settings.formatWidth=a},getCurrentEdgeStyle:function(){return this.settings.currentEdgeStyle},setCurrentEdgeStyle:function(a){this.settings.currentEdgeStyle=a},getCurrentVertexStyle:function(){return this.settings.currentVertexStyle},setCurrentVertexStyle:function(a){this.settings.currentVertexStyle=a},isCreateTarget:function(){return this.settings.createTarget},
setCreateTarget:function(a){this.settings.createTarget=a},getPageFormat:function(){return this.settings.pageFormat},setPageFormat:function(a){this.settings.pageFormat=a},save:function(){if(isLocalStorage&&"undefined"!==typeof JSON)try{delete this.settings.isNew,this.settings.version=12,localStorage.setItem(mxSettings.key,JSON.stringify(this.settings))}catch(a){}},load:function(){isLocalStorage&&"undefined"!==typeof JSON&&mxSettings.parse(localStorage.getItem(mxSettings.key))},parse:function(a){null!=
a&&(this.settings=JSON.parse(a),null==this.settings.plugins&&(this.settings.plugins=[]),null==this.settings.recentColors&&(this.settings.recentColors=[]),null==this.settings.libraries&&(this.settings.libraries=Sidebar.prototype.defaultEntries),null==this.settings.customLibraries&&(this.settings.customLibraries=[]),null==this.settings.ui&&(this.settings.ui=""),null==this.settings.formatWidth&&(this.settings.formatWidth="240"),null!=this.settings.lastAlert&&delete this.settings.lastAlert,null==this.settings.currentEdgeStyle?
this.settings.currentEdgeStyle=Graph.prototype.defaultEdgeStyle:10>=this.settings.version&&(this.settings.currentEdgeStyle.orthogonalLoop=1,this.settings.currentEdgeStyle.jettySize="auto"),null==this.settings.currentVertexStyle&&(this.settings.currentVertexStyle={}),null==this.settings.createTarget&&(this.settings.createTarget=!1),null==this.settings.pageFormat&&(this.settings.pageFormat=mxGraph.prototype.pageFormat),null==this.settings.search&&(this.settings.search=!0),null==this.settings.showStartScreen&&
(this.settings.showStartScreen=!0),null==this.settings.gridColor&&(this.settings.gridColor=mxGraphView.prototype.gridColor),null==this.settings.autosave&&(this.settings.autosave=!0),null!=this.settings.scratchpadSeen&&delete this.settings.scratchpadSeen)},clear:function(){isLocalStorage&&localStorage.removeItem(mxSettings.key)}};("undefined"==typeof mxLoadSettings||mxLoadSettings)&&mxSettings.load();
App=function(a,c,f){EditorUi.call(this,a,c,null!=f?f:"1"==urlParams.lightbox);mxClient.IS_SVG?mxGraph.prototype.warningImage.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAE7SURBVHjaYvz//z8DJQAggBjwGXDuHMP/tWuD/uPTCxBAOA0AaQRK/f/+XeJ/cbHlf1wGAAQQTgPu3QNLgfHSpZo4DQAIIKwGwGyH4e/fFbG6AiQJEEAs2Ew2NFzH8OOHBMO6dT/A/KCg7wxGRh+wuhQggDBcALMdFIAcHBxgDGJjcwVIIUAAYbhAUXEdVos4OO4DXcGBIQ4QQCguQPY7sgtgAYruCpAgQACx4LJdU1OCwctLEcyWlLwPJF+AXQE0EMUBAAEEdwF6yMOiD4RRY0QT7gqQAEAAseDzu6XldYYPH9DD4joQa8L5AAEENgWb7SBcXa0JDQMBrK4AcQACiAlfyOMCEFdAnAYQQEz4FLa0XGf4/v0H0IIPONUABBAjyBmMjIwMS5cK/L927QORbtBkaG29DtYLEGAAH6f7oq3Zc+kAAAAASUVORK5CYII\x3d":
(new Image).src=mxGraph.prototype.warningImage.src;window.openWindow=mxUtils.bind(this,function(a,c,d){var f=window.open(a);null==f||void 0===f?this.showDialog((new PopupDialog(this,a,c,d)).container,320,140,!0,!0):null!=c&&c()});this.updateUi();a=document.createElement("canvas");this.canvasSupported=!(!a.getContext||!a.getContext("2d"));window.showOpenAlert=mxUtils.bind(this,function(a){null!=window.openFile&&window.openFile.cancel(!0);this.handleError(a)});this.isOffline()||(EditDataDialog.placeholderHelpLink=
"https://support.draw.io/questions/9338941");ColorDialog.recentColors=mxSettings.getRecentColors(ColorDialog.recentColors);this.addFileDropHandler([document]);if(null!=App.DrawPlugins){for(a=0;a<App.DrawPlugins.length;a++)try{App.DrawPlugins[a](this)}catch(d){null!=window.console&&console.log("Plugin Error:",d,App.DrawPlugins[a])}window.Draw.loadPlugin=function(a){a(this)}}this.load()};App.ERROR_TIMEOUT="timeout";App.ERROR_BUSY="busy";App.ERROR_UNKNOWN="unknown";App.MODE_GOOGLE="google";
App.MODE_DROPBOX="dropbox";App.MODE_ONEDRIVE="onedrive";App.MODE_DEVICE="device";App.MODE_BROWSER="browser";App.DROPBOX_APPKEY="libwls2fa9szdji";
App.pluginRegistry={"4xAKTrabTpTzahoLthkwPNUn":"/plugins/explore.js",ex:"/plugins/explore.js",p1:"/plugins/p1.js",ac:"/plugins/connect.js",acj:"/plugins/connectJira.js",voice:"/plugins/voice.js",tips:"/plugins/tooltips.js",svgdata:"/plugins/svgdata.js",doors:"/plugins/doors.js",electron:"plugins/electron.js",tags:"/plugins/tags.js",sql:"/plugins/sql.js",find:"/plugins/find.js"};
App.getStoredMode=function(){var a=null;if("undefined"!=typeof Storage)for(var c=document.cookie.split(";"),f=0;f<c.length;f++){var d=mxUtils.trim(c[f]);if("MODE\x3d"==d.substring(0,5)){a=d.substring(5);break}}return a};
(function(){window.isSvgBrowser=window.isSvgBrowser||0>navigator.userAgent.indexOf("MSIE")||9<=document.documentMode;if(!mxClient.IS_CHROMEAPP&&("1"!=urlParams.offline&&("db.draw.io"==window.location.hostname&&null==urlParams.mode&&(urlParams.mode="dropbox"),App.mode=urlParams.mode,null==App.mode&&(App.mode=App.getStoredMode())),null!=window.mxscript&&("function"===typeof window.DriveClient&&("0"!=urlParams.gapi&&isSvgBrowser&&(null==document.documentMode||10<=document.documentMode)?App.mode==App.MODE_GOOGLE||
null!=urlParams.state&&""==window.location.hash||null!=window.location.hash&&"#G"==window.location.hash.substring(0,2)?mxscript("https://apis.google.com/js/api.js"):"0"==urlParams.chrome&&(window.DriveClient=null):window.DriveClient=null),"function"===typeof window.DropboxClient&&("0"!=urlParams.db&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode)?App.mode==App.MODE_DROPBOX||null!=window.location.hash&&"#D"==window.location.hash.substring(0,2)?mxscript("https://www.dropbox.com/static/api/1/dropins.js",
null,"dropboxjs",App.DROPBOX_APPKEY):"0"==urlParams.chrome&&(window.DropboxClient=null):window.DropboxClient=null),"function"===typeof window.OneDriveClient&&("0"!=urlParams.od&&!navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?App.mode==App.MODE_ONEDRIVE||null!=window.location.hash&&"#W"==window.location.hash.substring(0,2)?mxscript("https://js.live.net/v5.0/wl.js"):"0"==urlParams.chrome&&(window.OneDriveClient=null):window.OneDriveClient=
null),"undefined"==typeof JSON&&mxscript("js/json/json2.min.js")),"0"!=urlParams.plugins&&"1"!=urlParams.offline)){var a=mxSettings.getPlugins(),c=urlParams.p;if(null!=c||null!=a&&0<a.length)App.DrawPlugins=[],window.Draw={},window.Draw.loadPlugin=function(a){App.DrawPlugins.push(a)};if(null!=c)for(var c=c.split(";"),f=0;f<c.length;f++){var d=App.pluginRegistry[c[f]];null!=d?mxscript(d):null!=window.console&&console.log("Unknown plugin:",c[f])}if(null!=a&&0<a.length&&"0"!=urlParams.plugins)if(1==
a.length&&("/"==a[0].charAt(0)||0==a[0].indexOf(window.location.protocol+"//"+window.location.host)))mxscript(a[0]);else if(mxUtils.confirm(mxResources.replacePlaceholders("The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n",[a.join("\n")]).replace(/\\n/g,"\n")))for(f=0;f<a.length;f++)try{mxscript(a[f])}catch(b){}}})();
(function(){window.isSvgBrowser=window.isSvgBrowser||0>navigator.userAgent.indexOf("MSIE")||9<=document.documentMode;var a=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(b,c){a.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var c=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){c.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};if(!mxClient.IS_CHROMEAPP&&("1"!=urlParams.offline&&
("db.draw.io"==window.location.hostname&&null==urlParams.mode&&(urlParams.mode="dropbox"),App.mode=urlParams.mode,null==App.mode&&(App.mode=App.getStoredMode())),null!=window.mxscript&&("function"===typeof window.DriveClient&&("0"!=urlParams.gapi&&isSvgBrowser&&(null==document.documentMode||10<=document.documentMode)?App.mode==App.MODE_GOOGLE||null!=urlParams.state&&""==window.location.hash||null!=window.location.hash&&"#G"==window.location.hash.substring(0,2)?mxscript("https://apis.google.com/js/api.js"):
"0"==urlParams.chrome&&(window.DriveClient=null):window.DriveClient=null),"function"===typeof window.DropboxClient&&("0"!=urlParams.db&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode)?App.mode==App.MODE_DROPBOX||null!=window.location.hash&&"#D"==window.location.hash.substring(0,2)?mxscript("https://www.dropbox.com/static/api/1/dropins.js",null,"dropboxjs",App.DROPBOX_APPKEY):"0"==urlParams.chrome&&(window.DropboxClient=null):window.DropboxClient=null),"function"===typeof window.OneDriveClient&&
("0"!=urlParams.od&&!navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?App.mode==App.MODE_ONEDRIVE||null!=window.location.hash&&"#W"==window.location.hash.substring(0,2)?mxscript("https://js.live.net/v5.0/wl.js"):"0"==urlParams.chrome&&(window.OneDriveClient=null):window.OneDriveClient=null),"undefined"==typeof JSON&&mxscript("js/json/json2.min.js")),"0"!=urlParams.plugins&&"1"!=urlParams.offline)){var f=mxSettings.getPlugins(),d=
urlParams.p;if(null!=d||null!=f&&0<f.length)App.DrawPlugins=[],window.Draw={},window.Draw.loadPlugin=function(a){App.DrawPlugins.push(a)};if(null!=d)for(var d=d.split(";"),b=0;b<d.length;b++){var e=App.pluginRegistry[d[b]];null!=e?mxscript(e):null!=window.console&&console.log("Unknown plugin:",d[b])}if(null!=f&&0<f.length&&"0"!=urlParams.plugins)if(1==f.length&&("/"==f[0].charAt(0)||0==f[0].indexOf(window.location.protocol+"//"+window.location.host)))mxscript(f[0]);else if(mxUtils.confirm(mxResources.replacePlaceholders("The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n",
[f.join("\n")]).replace(/\\n/g,"\n")))for(b=0;b<f.length;b++)try{mxscript(f[b])}catch(g){}}})();
App.main=function(a){var c=null;window.onerror=function(a,b,e,f,k){try{if(!(a==c||null!=a&&null!=b&&(-1!=a.indexOf("Script error")||-1!=a.indexOf("extension")))&&null!=a&&0>a.indexOf("DocumentClosedError")){c=a;var l=new Image,m=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";l.src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity\x3d"+m+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+
"\x26msg\x3dclientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(e)+(null!=f?":colno:"+encodeURIComponent(f):"")+(null!=k&&null!=k.stack?"\x26stack\x3d"+encodeURIComponent(k.stack):"")}}catch(n){}};"atlas"==uiTheme&&mxClient.link("stylesheet","styles/atlas.css");if(null!=window.mxscript){"0"!=urlParams.chrome&&mxscript("js/jscolor/jscolor.js");if("1"==urlParams.offline){mxscript("js/shapes.min.js");var f=document.createElement("iframe");
f.setAttribute("width","0");f.setAttribute("height","0");f.setAttribute("src","offline.html");document.body.appendChild(f);mxStencilRegistry.stencilSet={};mxStencilRegistry.getStencil=function(a){return mxStencilRegistry.stencils[a]};mxStencilRegistry.loadStencilSet=function(a,b,c){a=a.substring(a.indexOf("/")+1);a="mxgraph."+a.substring(0,a.length-4).replace(/\//g,".");a=mxStencilRegistry.stencilSet[a];null!=a&&mxStencilRegistry.parseStencilSet(a,b,!1)};for(f=mxUtils.load("stencils.xml").getXml().documentElement.firstChild;null!=
@ -7787,10 +7790,10 @@ a.getAttribute("shadow"),pageVisible:this.lightbox?!1:null!=c?"0"!=c:this.defaul
selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1}};
Graph.prototype.getViewState=function(){return{defaultParent:this.defaultParent,currentRoot:this.view.currentRoot,gridEnabled:this.gridEnabled,gridSize:this.gridSize,guidesEnabled:this.graphHandler.guidesEnabled,foldingEnabled:this.foldingEnabled,shadowVisible:this.shadowVisible,scrollbars:this.scrollbars,pageVisible:this.pageVisible,background:this.background,backgroundImage:this.backgroundImage,pageScale:this.pageScale,pageFormat:this.pageFormat,tooltips:this.tooltipHandler.isEnabled(),connect:this.connectionHandler.isEnabled(),
arrows:this.connectionArrowsEnabled,scale:this.view.scale,scrollLeft:this.container.scrollLeft-this.view.translate.x*this.view.scale,scrollTop:this.container.scrollTop-this.view.translate.y*this.view.scale,translate:this.view.translate.clone(),lastPasteXml:this.lastPasteXml,pasteCounter:this.pasteCounter,mathEnabled:this.mathEnabled}};
Graph.prototype.setViewState=function(a){null!=a?(this.lastPasteXml=a.lastPasteXml,this.pasteCounter=a.pasteCounter||0,this.mathEnabled=a.mathEnabled,this.gridEnabled=a.gridEnabled,this.gridSize=a.gridSize,this.graphHandler.guidesEnabled=a.guidesEnabled,this.foldingEnabled=a.foldingEnabled,this.setShadowVisible(a.shadowVisible,!1),this.scrollbars=a.scrollbars,this.pageVisible=a.pageVisible,this.background=a.background,this.backgroundImage=a.backgroundImage,this.pageScale=a.pageScale,this.pageFormat=
a.pageFormat,this.view.scale=a.scale,this.view.currentRoot=a.currentRoot,this.defaultParent=a.defaultParent,this.connectionArrowsEnabled=a.arrows,this.setTooltips(a.tooltips),this.setConnectable(a.connect),null!=a.translate&&(this.view.translate=a.translate)):(this.view.currentRoot=null,this.view.scale=1,this.gridEnabled=!0,this.gridSize=mxGraph.prototype.gridSize,this.pageScale=mxGraph.prototype.pageScale,this.pageFormat=mxSettings.getPageFormat(),this.pageVisible=this.defaultPageVisible,this.background=
this.defaultGraphBackground,this.backgroundImage=null,this.scrollbars=this.defaultScrollbars,this.foldingEnabled=this.graphHandler.guidesEnabled=!0,this.defaultParent=null,this.setTooltips(!0),this.setConnectable(!0),this.lastPasteXml=null,this.pasteCounter=0,this.mathEnabled=!1,this.connectionArrowsEnabled=!0);this.preferPageSize=this.pageBreaksVisible=this.pageVisible};
EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var c=this.editor.extractGraphModel(a.node);if(null!=c){a.graphModelNode=c;a.viewState=this.editor.graph.createViewState(c);var f=new mxCodec(c.ownerDocument);a.root=f.decode(c).root}else a.root=this.editor.graph.model.createRoot()}return a};
Graph.prototype.setViewState=function(a){if(null!=a)this.lastPasteXml=a.lastPasteXml,this.pasteCounter=a.pasteCounter||0,this.mathEnabled=a.mathEnabled,this.gridEnabled=a.gridEnabled,this.gridSize=a.gridSize,this.graphHandler.guidesEnabled=a.guidesEnabled,this.foldingEnabled=a.foldingEnabled,this.setShadowVisible(a.shadowVisible,!1),this.scrollbars=a.scrollbars,this.pageVisible=a.pageVisible,this.background=a.background,this.backgroundImage=a.backgroundImage,this.pageScale=a.pageScale,this.pageFormat=
a.pageFormat,this.view.scale=a.scale,this.view.currentRoot=a.currentRoot,this.defaultParent=a.defaultParent,this.connectionArrowsEnabled=a.arrows,this.setTooltips(a.tooltips),this.setConnectable(a.connect),null!=a.translate&&(this.view.translate=a.translate);else{this.view.currentRoot=null;this.view.scale=1;this.gridEnabled=!0;this.gridSize=mxGraph.prototype.gridSize;this.pageScale=mxGraph.prototype.pageScale;this.pageFormat=mxSettings.getPageFormat();this.pageVisible=this.defaultPageVisible;this.background=
this.defaultGraphBackground;this.backgroundImage=null;this.scrollbars=this.defaultScrollbars;this.foldingEnabled=this.graphHandler.guidesEnabled=!0;this.defaultParent=null;this.setTooltips(!0);this.setConnectable(!0);this.lastPasteXml=null;this.pasteCounter=0;this.mathEnabled=!1;this.connectionArrowsEnabled=!0;a=this.getDefaultParent();this.getCellStyle(a);for(var c=0;null!=a&&"1"==mxUtils.getValue(this.getCellStyle(a),"locked","0");)a=this.model.getChildAt(this.model.root,c++);null!=a&&this.setDefaultParent(a)}this.preferPageSize=
this.pageBreaksVisible=this.pageVisible};EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var c=this.editor.extractGraphModel(a.node);if(null!=c){a.graphModelNode=c;a.viewState=this.editor.graph.createViewState(c);var f=new mxCodec(c.ownerDocument);a.root=f.decode(c).root}else a.root=this.editor.graph.model.createRoot()}return a};
EditorUi.prototype.selectPage=function(a){this.editor.graph.stopEditing();var c=this.editor.graph.model.createUndoableEdit();c.ignoreEdit=!0;a=new SelectPage(this,a);a.execute();c.add(a);c.notify();this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",c))};
EditorUi.prototype.selectNextPage=function(a){var c=this.currentPage;null!=c&&null!=this.pages&&(c=mxUtils.indexOf(this.pages,c),a?this.selectPage(this.pages[mxUtils.mod(c+1,this.pages.length)]):a||this.selectPage(this.pages[mxUtils.mod(c-1,this.pages.length)]))};EditorUi.prototype.insertPage=function(a,c){if(this.editor.graph.isEnabled()){a=null!=a?a:this.createPage();c=null!=c?c:this.pages.length;var f=new ChangePage(this,a,a,c);this.editor.graph.model.execute(f)}return a};
EditorUi.prototype.createPage=function(a){var c=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"));c.setName(null!=a?a:this.createPageName());return c};EditorUi.prototype.createPageName=function(){for(var a={},c=0;c<this.pages.length;c++){var f=this.pages[c].getName();null!=f&&0<f.length&&(a[f]=f)}c=this.pages.length;do f=mxResources.get("pageWithNumber",[++c]);while(null!=a[f]);return f};

View file

@ -65,6 +65,9 @@ App = function(editor, container, lightbox)
EditDataDialog.placeholderHelpLink = 'https://support.draw.io/questions/9338941';
}
// Gets recent colors from settings
ColorDialog.recentColors = mxSettings.getRecentColors(ColorDialog.recentColors);
// Handles opening files via drag and drop
this.addFileDropHandler([document]);
@ -186,6 +189,29 @@ App.getStoredMode = function()
{
// Checks for local storage and SVG support
window.isSvgBrowser = window.isSvgBrowser || (navigator.userAgent.indexOf('MSIE') < 0 || document.documentMode >= 9);
/**
* Adds persistence for recent colors
*/
var colorDialogAddRecentColor = ColorDialog.addRecentColor;
ColorDialog.addRecentColor = function(color, max)
{
colorDialogAddRecentColor.apply(this, arguments);
mxSettings.setRecentColors(ColorDialog.recentColors);
mxSettings.save();
};
var colorDialogResetRecentColors = ColorDialog.resetRecentColors;
ColorDialog.resetRecentColors = function()
{
colorDialogResetRecentColors.apply(this, arguments);
mxSettings.setRecentColors(ColorDialog.recentColors);
mxSettings.save();
};
if (!mxClient.IS_CHROMEAPP)
{
@ -681,9 +707,6 @@ App.prototype.init = function()
{
EditorUi.prototype.init.apply(this, arguments);
var host = window.location.host;
/**
* Overrides export dialog for using cloud storage save.
*/
@ -4237,7 +4260,7 @@ App.prototype.fileLoaded = function(file)
// if (!this.isOffline())
// {
// var img = new Image();
var logDomain = window.DRAWIO_LOG_URL != null ? window.DRAWIO_LOG_URL : '';
// var logDomain = window.DRAWIO_LOG_URL != null ? window.DRAWIO_LOG_URL : '';
// img.src = logDomain + '/log?msg=storageMode:' + encodeURIComponent(file.getMode()) +
// '&v=' + encodeURIComponent(EditorUi.VERSION);
// }

View file

@ -485,6 +485,21 @@ Graph.prototype.setViewState = function(state)
this.pasteCounter = 0;
this.mathEnabled = false;
this.connectionArrowsEnabled = true;
// Selects first unlocked layer if one exists
var cell = this.getDefaultParent();
var style = this.getCellStyle(cell);
var index = 0;
while (cell != null && mxUtils.getValue(this.getCellStyle(cell), 'locked', '0') == '1')
{
cell = this.model.getChildAt(this.model.root, index++);
}
if (cell != null)
{
this.setDefaultParent(cell);
}
}
// Implicit settings

View file

@ -12,6 +12,7 @@ var mxSettings =
libraries: Sidebar.prototype.defaultEntries,
customLibraries: [],
plugins: [],
recentColors: [],
formatWidth: '240',
currentEdgeStyle: Graph.prototype.defaultEdgeStyle,
currentVertexStyle: {},
@ -21,7 +22,7 @@ var mxSettings =
showStartScreen: true,
gridColor: mxGraphView.prototype.gridColor,
autosave: true,
version: 12,
version: 13,
// Only defined and true for new settings which haven't been saved
isNew: true
},
@ -104,6 +105,14 @@ var mxSettings =
{
this.settings.plugins = plugins;
},
getRecentColors: function()
{
return this.settings.recentColors;
},
setRecentColors: function(recentColors)
{
this.settings.recentColors = recentColors;
},
getFormatWidth: function()
{
return parseInt(this.settings.formatWidth);
@ -178,6 +187,11 @@ var mxSettings =
this.settings.plugins = [];
}
if (this.settings.recentColors == null)
{
this.settings.recentColors = [];
}
if (this.settings.libraries == null)
{
this.settings.libraries = Sidebar.prototype.defaultEntries;

View file

@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+w.join(",")+"}";f=t;return r}}"function"!==typeof Date.prototy
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
"function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();var mxBasePath="https://www.draw.io/mxgraph/",mxLoadStylesheets=mxLoadResources=!1,mxLanguage="en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||1E8;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"5.7.2.3",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"5.7.2.5",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||

View file

@ -214,7 +214,16 @@ var ColorDialog = function(editorUi, color, apply, cancelFn)
var center = document.createElement('center');
function addPresets(presets, rowLength, defaultColor)
function createRecentColorTable()
{
var table = addPresets((ColorDialog.recentColors.length == 0) ? ['FFFFFF'] :
ColorDialog.recentColors, 11, 'FFFFFF', true);
table.style.marginBottom = '8px';
return table;
};
function addPresets(presets, rowLength, defaultColor, addResetOption)
{
rowLength = (rowLength != null) ? rowLength : 12;
var table = document.createElement('table');
@ -280,6 +289,28 @@ var ColorDialog = function(editorUi, color, apply, cancelFn)
tbody.appendChild(tr);
}
if (addResetOption)
{
var td = document.createElement('td');
td.setAttribute('title', mxResources.get('reset'));
td.style.border = '1px solid black';
td.style.padding = '0px';
td.style.width = '16px';
td.style.height = '16px';
td.style.backgroundImage = 'url(\'' + Dialog.prototype.closeImage + '\')';
td.style.backgroundPosition = 'center center';
td.style.backgroundRepeat = 'no-repeat';
td.style.cursor = 'pointer';
tr.appendChild(td);
mxEvent.addListener(td, 'click', function()
{
ColorDialog.resetRecentColors();
table.parentNode.replaceChild(createRecentColorTable(), table);
});
}
center.appendChild(table);
return table;
@ -289,8 +320,7 @@ var ColorDialog = function(editorUi, color, apply, cancelFn)
mxUtils.br(div);
// Adds recent colors
var table = addPresets((ColorDialog.recentColors.length == 0) ? ['FFFFFF'] : ColorDialog.recentColors, 12, 'FFFFFF');
table.style.marginBottom = '8px';
createRecentColorTable();
// Adds presets
var table = addPresets(['E6D0DE', 'CDA2BE', 'B5739D', 'E1D5E7', 'C3ABD0', 'A680B8', 'D4E1F5', 'A9C4EB', '7EA6E0', 'D5E8D4', '9AC7BF', '67AB9F', 'D5E8D4', 'B9E0A5', '97D077', 'FFF2CC', 'FFE599', 'FFD966', 'FFF4C3', 'FFCE9F', 'FFB570', 'F8CECC', 'F19C99', 'EA6B66'], 12);
@ -423,6 +453,14 @@ ColorDialog.addRecentColor = function(color, max)
}
};
/**
* Adds recent color for later use.
*/
ColorDialog.resetRecentColors = function()
{
ColorDialog.recentColors = [];
};
/**
* Constructs a new about dialog.
*/

View file

@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+w.join(",")+"}";f=t;return r}}"function"!==typeof Date.prototy
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
"function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();var mxBasePath="https://www.draw.io/mxgraph/",mxLoadStylesheets=mxLoadResources=!1,mxLanguage="en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||1E8;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"5.7.2.3",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"5.7.2.5",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||

View file

@ -2764,10 +2764,10 @@ a.getAttribute("shadow"),pageVisible:this.lightbox?!1:null!=b?"0"!=b:this.defaul
selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1}};
Graph.prototype.getViewState=function(){return{defaultParent:this.defaultParent,currentRoot:this.view.currentRoot,gridEnabled:this.gridEnabled,gridSize:this.gridSize,guidesEnabled:this.graphHandler.guidesEnabled,foldingEnabled:this.foldingEnabled,shadowVisible:this.shadowVisible,scrollbars:this.scrollbars,pageVisible:this.pageVisible,background:this.background,backgroundImage:this.backgroundImage,pageScale:this.pageScale,pageFormat:this.pageFormat,tooltips:this.tooltipHandler.isEnabled(),connect:this.connectionHandler.isEnabled(),
arrows:this.connectionArrowsEnabled,scale:this.view.scale,scrollLeft:this.container.scrollLeft-this.view.translate.x*this.view.scale,scrollTop:this.container.scrollTop-this.view.translate.y*this.view.scale,translate:this.view.translate.clone(),lastPasteXml:this.lastPasteXml,pasteCounter:this.pasteCounter,mathEnabled:this.mathEnabled}};
Graph.prototype.setViewState=function(a){null!=a?(this.lastPasteXml=a.lastPasteXml,this.pasteCounter=a.pasteCounter||0,this.mathEnabled=a.mathEnabled,this.gridEnabled=a.gridEnabled,this.gridSize=a.gridSize,this.graphHandler.guidesEnabled=a.guidesEnabled,this.foldingEnabled=a.foldingEnabled,this.setShadowVisible(a.shadowVisible,!1),this.scrollbars=a.scrollbars,this.pageVisible=a.pageVisible,this.background=a.background,this.backgroundImage=a.backgroundImage,this.pageScale=a.pageScale,this.pageFormat=
a.pageFormat,this.view.scale=a.scale,this.view.currentRoot=a.currentRoot,this.defaultParent=a.defaultParent,this.connectionArrowsEnabled=a.arrows,this.setTooltips(a.tooltips),this.setConnectable(a.connect),null!=a.translate&&(this.view.translate=a.translate)):(this.view.currentRoot=null,this.view.scale=1,this.gridEnabled=!0,this.gridSize=mxGraph.prototype.gridSize,this.pageScale=mxGraph.prototype.pageScale,this.pageFormat=mxSettings.getPageFormat(),this.pageVisible=this.defaultPageVisible,this.background=
this.defaultGraphBackground,this.backgroundImage=null,this.scrollbars=this.defaultScrollbars,this.foldingEnabled=this.graphHandler.guidesEnabled=!0,this.defaultParent=null,this.setTooltips(!0),this.setConnectable(!0),this.lastPasteXml=null,this.pasteCounter=0,this.mathEnabled=!1,this.connectionArrowsEnabled=!0);this.preferPageSize=this.pageBreaksVisible=this.pageVisible};
EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var b=this.editor.extractGraphModel(a.node);if(null!=b){a.graphModelNode=b;a.viewState=this.editor.graph.createViewState(b);var c=new mxCodec(b.ownerDocument);a.root=c.decode(b).root}else a.root=this.editor.graph.model.createRoot()}return a};
Graph.prototype.setViewState=function(a){if(null!=a)this.lastPasteXml=a.lastPasteXml,this.pasteCounter=a.pasteCounter||0,this.mathEnabled=a.mathEnabled,this.gridEnabled=a.gridEnabled,this.gridSize=a.gridSize,this.graphHandler.guidesEnabled=a.guidesEnabled,this.foldingEnabled=a.foldingEnabled,this.setShadowVisible(a.shadowVisible,!1),this.scrollbars=a.scrollbars,this.pageVisible=a.pageVisible,this.background=a.background,this.backgroundImage=a.backgroundImage,this.pageScale=a.pageScale,this.pageFormat=
a.pageFormat,this.view.scale=a.scale,this.view.currentRoot=a.currentRoot,this.defaultParent=a.defaultParent,this.connectionArrowsEnabled=a.arrows,this.setTooltips(a.tooltips),this.setConnectable(a.connect),null!=a.translate&&(this.view.translate=a.translate);else{this.view.currentRoot=null;this.view.scale=1;this.gridEnabled=!0;this.gridSize=mxGraph.prototype.gridSize;this.pageScale=mxGraph.prototype.pageScale;this.pageFormat=mxSettings.getPageFormat();this.pageVisible=this.defaultPageVisible;this.background=
this.defaultGraphBackground;this.backgroundImage=null;this.scrollbars=this.defaultScrollbars;this.foldingEnabled=this.graphHandler.guidesEnabled=!0;this.defaultParent=null;this.setTooltips(!0);this.setConnectable(!0);this.lastPasteXml=null;this.pasteCounter=0;this.mathEnabled=!1;this.connectionArrowsEnabled=!0;a=this.getDefaultParent();this.getCellStyle(a);for(var b=0;null!=a&&"1"==mxUtils.getValue(this.getCellStyle(a),"locked","0");)a=this.model.getChildAt(this.model.root,b++);null!=a&&this.setDefaultParent(a)}this.preferPageSize=
this.pageBreaksVisible=this.pageVisible};EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var b=this.editor.extractGraphModel(a.node);if(null!=b){a.graphModelNode=b;a.viewState=this.editor.graph.createViewState(b);var c=new mxCodec(b.ownerDocument);a.root=c.decode(b).root}else a.root=this.editor.graph.model.createRoot()}return a};
EditorUi.prototype.selectPage=function(a){this.editor.graph.stopEditing();var b=this.editor.graph.model.createUndoableEdit();b.ignoreEdit=!0;a=new SelectPage(this,a);a.execute();b.add(a);b.notify();this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",b))};
EditorUi.prototype.selectNextPage=function(a){var b=this.currentPage;null!=b&&null!=this.pages&&(b=mxUtils.indexOf(this.pages,b),a?this.selectPage(this.pages[mxUtils.mod(b+1,this.pages.length)]):a||this.selectPage(this.pages[mxUtils.mod(b-1,this.pages.length)]))};EditorUi.prototype.insertPage=function(a,b){if(this.editor.graph.isEnabled()){a=null!=a?a:this.createPage();b=null!=b?b:this.pages.length;var c=new ChangePage(this,a,a,b);this.editor.graph.model.execute(c)}return a};
EditorUi.prototype.createPage=function(a){var b=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"));b.setName(null!=a?a:this.createPageName());return b};EditorUi.prototype.createPageName=function(){for(var a={},b=0;b<this.pages.length;b++){var c=this.pages[b].getName();null!=c&&0<c.length&&(a[c]=c)}b=this.pages.length;do c=mxResources.get("pageWithNumber",[++b]);while(null!=a[c]);return c};