diff --git a/bower.json b/bower.json index 6ed3a24256..b2fcd69f4b 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "mermaid", - "version": "0.2.1", + "version": "0.2.2", "authors": [ "knsv " ], diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index b7b473bf47..ab466e630c 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -417,7 +417,7 @@ var addEdges = function (edges, g) { // Add the edge to the graph if (typeof edge.text === 'undefined') { if(typeof edge.style === 'undefined'){ - g.setEdge(edge.start, edge.end,{ arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); + g.setEdge(edge.start, edge.end,{ style: "stroke: #333; stroke-width: 1.5px;fill:none", arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); }else{ g.setEdge(edge.start, edge.end, { style: edge.style, arrowheadStyle: "fill: #333", arrowhead: aHead @@ -428,8 +428,7 @@ var addEdges = function (edges, g) { else { if(typeof edge.style === 'undefined'){ - console.log('Edge with Text no style: '+edge.text); - g.setEdge(edge.start, edge.end,{label: edge.text, arrowheadStyle: "fill: #33f", arrowhead: aHead},cnt); + g.setEdge(edge.start, edge.end,{style: "stroke: #333; stroke-width: 1.5px;fill:none", label: edge.text, arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); }else{ g.setEdge(edge.start, edge.end, { @@ -480,9 +479,6 @@ var drawChart = function (text, id) { classes.default = {id:'default'}; classes.default.styles = ['fill:#eaeaea','stroke:#666','stroke-width:1.5px']; } - - console.log(classes); - addVertices(vert, g); addEdges(edges, g); @@ -548,7 +544,6 @@ var drawChart = function (text, id) { * Go through the document and find the chart definitions in there and render the charts */ var init = function () { - console.log('Mermaid v'+exports.version()+' starting'); var arr = document.querySelectorAll('.mermaid'); var cnt = 0; @@ -575,7 +570,7 @@ var init = function () { * @returns {string} */ exports.version = function(){ - return '0.2.0'; + return '0.2.2'; } var equals = function (val, variable){ @@ -688,7 +683,6 @@ exports.addClass = function (id, style) { if (typeof style !== 'undefined') { if (style !== null) { style.forEach(function (s) { - console.log('Adding style'+s) classes[id].styles.push(s); }); } @@ -708,7 +702,6 @@ exports.setDirection = function (dir) { * @param dir */ exports.setClass = function (id,className) { - console.log('Got id:'+id); if(id.indexOf(',')>0){ id.split(',').forEach(function(id2){ if(typeof vertices[id2] !== 'undefined'){ diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index c3fc07b2bf..cd72e5efca 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -30,4 +30,4 @@ module.exports={graphlib:require("./lib/graphlib"),dagre:require("./lib/dagre"), }));_.each(g.nodes(),function(v){var node=g.node(v);if(_.has(node,"rank")){node.rank-=min}})}function removeEmptyRanks(g){var offset=_.min(_.map(g.nodes(),function(v){return g.node(v).rank}));var layers=[];_.each(g.nodes(),function(v){var rank=g.node(v).rank-offset;if(!_.has(layers,rank)){layers[rank]=[]}layers[rank].push(v)});var delta=0,nodeRankFactor=g.graph().nodeRankFactor;_.each(layers,function(vs,i){if(_.isUndefined(vs)&&i%nodeRankFactor!==0){--delta}else if(delta){_.each(vs,function(v){g.node(v).rank+=delta})}})}function addBorderNode(g,prefix,rank,order){var node={width:0,height:0};if(arguments.length>=4){node.rank=rank;node.order=order}return addDummyNode(g,"border",node,prefix)}function maxRank(g){return _.max(_.map(g.nodes(),function(v){var rank=g.node(v).rank;if(!_.isUndefined(rank)){return rank}}))}function partition(collection,fn){var result={lhs:[],rhs:[]};_.each(collection,function(value){if(fn(value)){result.lhs.push(value)}else{result.rhs.push(value)}});return result}function time(name,fn){var start=_.now();try{return fn()}finally{console.log(name+" time: "+(_.now()-start)+"ms")}}function notime(name,fn){return fn()}},{"./graphlib":33,"./lodash":36}],56:[function(require,module,exports){module.exports="0.6.1"},{}],57:[function(require,module,exports){var lib=require("./lib");module.exports={Graph:lib.Graph,json:require("./lib/json"),alg:require("./lib/alg"),version:lib.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(require,module,exports){var _=require("../lodash");module.exports=components;function components(g){var visited={},cmpts=[],cmpt;function dfs(v){if(_.has(visited,v))return;visited[v]=true;cmpt.push(v);_.each(g.successors(v),dfs);_.each(g.predecessors(v),dfs)}_.each(g.nodes(),function(v){cmpt=[];dfs(v);if(cmpt.length){cmpts.push(cmpt)}});return cmpts}},{"../lodash":75}],59:[function(require,module,exports){var _=require("../lodash");module.exports=dfs;function dfs(g,vs,order){if(!_.isArray(vs)){vs=[vs]}var acc=[],visited={};_.each(vs,function(v){if(!g.hasNode(v)){throw new Error("Graph does not have node: "+v)}doDfs(g,v,order==="post",visited,acc)});return acc}function doDfs(g,v,postorder,visited,acc){if(!_.has(visited,v)){visited[v]=true;if(!postorder){acc.push(v)}_.each(g.neighbors(v),function(w){doDfs(g,w,postorder,visited,acc)});if(postorder){acc.push(v)}}}},{"../lodash":75}],60:[function(require,module,exports){var dijkstra=require("./dijkstra"),_=require("../lodash");module.exports=dijkstraAll;function dijkstraAll(g,weightFunc,edgeFunc){return _.transform(g.nodes(),function(acc,v){acc[v]=dijkstra(g,v,weightFunc,edgeFunc)},{})}},{"../lodash":75,"./dijkstra":61}],61:[function(require,module,exports){var _=require("../lodash"),PriorityQueue=require("../data/priority-queue");module.exports=dijkstra;var DEFAULT_WEIGHT_FUNC=_.constant(1);function dijkstra(g,source,weightFn,edgeFn){return runDijkstra(g,String(source),weightFn||DEFAULT_WEIGHT_FUNC,edgeFn||function(v){return g.outEdges(v)})}function runDijkstra(g,source,weightFn,edgeFn){var results={},pq=new PriorityQueue,v,vEntry;var updateNeighbors=function(edge){var w=edge.v!==v?edge.v:edge.w,wEntry=results[w],weight=weightFn(edge),distance=vEntry.distance+weight;if(weight<0){throw new Error("dijkstra does not allow negative edge weights. "+"Bad edge: "+edge+" Weight: "+weight)}if(distance0){v=pq.removeMin();vEntry=results[v];if(vEntry.distance===Number.POSITIVE_INFINITY){break}edgeFn(v).forEach(updateNeighbors)}return results}},{"../data/priority-queue":71,"../lodash":75}],62:[function(require,module,exports){var _=require("../lodash"),tarjan=require("./tarjan");module.exports=findCycles;function findCycles(g){return _.filter(tarjan(g),function(cmpt){return cmpt.length>1})}},{"../lodash":75,"./tarjan":69}],63:[function(require,module,exports){var _=require("../lodash");module.exports=floydWarshall;var DEFAULT_WEIGHT_FUNC=_.constant(1);function floydWarshall(g,weightFn,edgeFn){return runFloydWarshall(g,weightFn||DEFAULT_WEIGHT_FUNC,edgeFn||function(v){return g.outEdges(v)})}function runFloydWarshall(g,weightFn,edgeFn){var results={},nodes=g.nodes();nodes.forEach(function(v){results[v]={};results[v][v]={distance:0};nodes.forEach(function(w){if(v!==w){results[v][w]={distance:Number.POSITIVE_INFINITY}}});edgeFn(v).forEach(function(edge){var w=edge.v===v?edge.w:edge.v,d=weightFn(edge);results[v][w]={distance:d,predecessor:v}})});nodes.forEach(function(k){var rowK=results[k];nodes.forEach(function(i){var rowI=results[i];nodes.forEach(function(j){var ik=rowI[k];var kj=rowK[j];var ij=rowI[j];var altDistance=ik.distance+kj.distance;if(altDistance0){v=pq.removeMin();if(_.has(parents,v)){result.setEdge(v,parents[v])}else if(init){throw new Error("Input graph is not connected: "+g)}else{init=true}g.nodeEdges(v).forEach(updateNeighbors)}return result}},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(require,module,exports){var _=require("../lodash");module.exports=tarjan;function tarjan(g){var index=0,stack=[],visited={},results=[];function dfs(v){var entry=visited[v]={onStack:true,lowlink:index,index:index++};stack.push(v);g.successors(v).forEach(function(w){if(!_.has(visited,w)){dfs(w);entry.lowlink=Math.min(entry.lowlink,visited[w].lowlink)}else if(visited[w].onStack){entry.lowlink=Math.min(entry.lowlink,visited[w].index)}});if(entry.lowlink===entry.index){var cmpt=[],w;do{w=stack.pop();visited[w].onStack=false;cmpt.push(w)}while(v!==w);results.push(cmpt)}}g.nodes().forEach(function(v){if(!_.has(visited,v)){dfs(v)}});return results}},{"../lodash":75}],70:[function(require,module,exports){var _=require("../lodash");module.exports=topsort;topsort.CycleException=CycleException;function topsort(g){var visited={},stack={},results=[];function visit(node){if(_.has(stack,node)){throw new CycleException}if(!_.has(visited,node)){stack[node]=true;visited[node]=true;_.each(g.predecessors(node),visit);delete stack[node];results.push(node)}}_.each(g.sinks(),visit);if(_.size(visited)!==g.nodeCount()){throw new CycleException}return results}function CycleException(){}},{"../lodash":75}],71:[function(require,module,exports){var _=require("../lodash");module.exports=PriorityQueue;function PriorityQueue(){this._arr=[];this._keyIndices={}}PriorityQueue.prototype.size=function(){return this._arr.length};PriorityQueue.prototype.keys=function(){return this._arr.map(function(x){return x.key})};PriorityQueue.prototype.has=function(key){return _.has(this._keyIndices,key)};PriorityQueue.prototype.priority=function(key){var index=this._keyIndices[key];if(index!==undefined){return this._arr[index].priority}};PriorityQueue.prototype.min=function(){if(this.size()===0){throw new Error("Queue underflow")}return this._arr[0].key};PriorityQueue.prototype.add=function(key,priority){var keyIndices=this._keyIndices;key=String(key);if(!_.has(keyIndices,key)){var arr=this._arr;var index=arr.length;keyIndices[key]=index;arr.push({key:key,priority:priority});this._decrease(index);return true}return false};PriorityQueue.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var min=this._arr.pop();delete this._keyIndices[min.key];this._heapify(0);return min.key};PriorityQueue.prototype.decrease=function(key,priority){var index=this._keyIndices[key];if(priority>this._arr[index].priority){throw new Error("New priority is greater than current priority. "+"Key: "+key+" Old: "+this._arr[index].priority+" New: "+priority)}this._arr[index].priority=priority;this._decrease(index)};PriorityQueue.prototype._heapify=function(i){var arr=this._arr;var l=2*i,r=l+1,largest=i;if(l>1;if(arr[parent].priority1){this.setNode(v,value)}else{this.setNode(v)}},this);return this};Graph.prototype.setNode=function(v,value){if(_.has(this._nodes,v)){if(arguments.length>1){this._nodes[v]=value}return this}this._nodes[v]=arguments.length>1?value:this._defaultNodeLabelFn(v);if(this._isCompound){this._parent[v]=GRAPH_NODE;this._children[v]={};this._children[GRAPH_NODE][v]=true}this._in[v]={};this._preds[v]={};this._out[v]={};this._sucs[v]={};++this._nodeCount;return this};Graph.prototype.node=function(v){return this._nodes[v]};Graph.prototype.hasNode=function(v){return _.has(this._nodes,v)};Graph.prototype.removeNode=function(v){var self=this;if(_.has(this._nodes,v)){var removeEdge=function(e){self.removeEdge(self._edgeObjs[e])};delete this._nodes[v];if(this._isCompound){this._removeFromParentsChildList(v);delete this._parent[v];_.each(this.children(v),function(child){this.setParent(child)},this);delete this._children[v]}_.each(_.keys(this._in[v]),removeEdge);delete this._in[v];delete this._preds[v];_.each(_.keys(this._out[v]),removeEdge);delete this._out[v];delete this._sucs[v];--this._nodeCount}return this};Graph.prototype.setParent=function(v,parent){if(!this._isCompound){throw new Error("Cannot set parent in a non-compound graph")}if(_.isUndefined(parent)){parent=GRAPH_NODE}else{for(var ancestor=parent;!_.isUndefined(ancestor);ancestor=this.parent(ancestor)){if(ancestor===v){throw new Error("Setting "+parent+" as parent of "+v+" would create create a cycle")}}this.setNode(parent)}this.setNode(v);this._removeFromParentsChildList(v);this._parent[v]=parent;this._children[parent][v]=true;return this};Graph.prototype._removeFromParentsChildList=function(v){delete this._children[this._parent[v]][v]};Graph.prototype.parent=function(v){if(this._isCompound){var parent=this._parent[v];if(parent!==GRAPH_NODE){return parent}}};Graph.prototype.children=function(v){if(_.isUndefined(v)){v=GRAPH_NODE}if(this._isCompound){var children=this._children[v];if(children){return _.keys(children)}}else if(v===GRAPH_NODE){return this.nodes()}else if(this.hasNode(v)){return[]}};Graph.prototype.predecessors=function(v){var predsV=this._preds[v];if(predsV){return _.keys(predsV)}};Graph.prototype.successors=function(v){var sucsV=this._sucs[v];if(sucsV){return _.keys(sucsV)}};Graph.prototype.neighbors=function(v){var preds=this.predecessors(v);if(preds){return _.union(preds,this.successors(v))}};Graph.prototype.setDefaultEdgeLabel=function(newDefault){if(!_.isFunction(newDefault)){newDefault=_.constant(newDefault)}this._defaultEdgeLabelFn=newDefault;return this};Graph.prototype.edgeCount=function(){return this._edgeCount};Graph.prototype.edges=function(){return _.values(this._edgeObjs)};Graph.prototype.setPath=function(vs,value){var self=this,args=arguments;_.reduce(vs,function(v,w){if(args.length>1){self.setEdge(v,w,value)}else{self.setEdge(v,w)}return w});return this};Graph.prototype.setEdge=function(v,w,value,name){var valueSpecified=arguments.length>2;v=String(v);w=String(w);if(!_.isUndefined(name)){name=String(name)}if(_.isPlainObject(arguments[0])){v=arguments[0].v;w=arguments[0].w;name=arguments[0].name;if(arguments.length===2){value=arguments[1];valueSpecified=true}}var e=edgeArgsToId(this._isDirected,v,w,name);if(_.has(this._edgeLabels,e)){if(valueSpecified){this._edgeLabels[e]=value}return this}if(!_.isUndefined(name)&&!this._isMultigraph){throw new Error("Cannot set a named edge when isMultigraph = false")}this.setNode(v);this.setNode(w);this._edgeLabels[e]=valueSpecified?value:this._defaultEdgeLabelFn(v,w,name);var edgeObj=edgeArgsToObj(this._isDirected,v,w,name);v=edgeObj.v;w=edgeObj.w;Object.freeze(edgeObj);this._edgeObjs[e]=edgeObj;incrementOrInitEntry(this._preds[w],v);incrementOrInitEntry(this._sucs[v],w);this._in[w][e]=edgeObj;this._out[v][e]=edgeObj;this._edgeCount++;return this};Graph.prototype.edge=function(v,w,name){var e=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,v,w,name);return this._edgeLabels[e]};Graph.prototype.hasEdge=function(v,w,name){var e=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,v,w,name);return _.has(this._edgeLabels,e)};Graph.prototype.removeEdge=function(v,w,name){var e=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,v,w,name),edge=this._edgeObjs[e];if(edge){v=edge.v;w=edge.w;delete this._edgeLabels[e];delete this._edgeObjs[e];decrementOrRemoveEntry(this._preds[w],v);decrementOrRemoveEntry(this._sucs[v],w);delete this._in[w][e];delete this._out[v][e];this._edgeCount--}return this};Graph.prototype.inEdges=function(v,u){var inV=this._in[v];if(inV){var edges=_.values(inV);if(!u){return edges}return _.filter(edges,function(edge){return edge.v===u})}};Graph.prototype.outEdges=function(v,w){var outV=this._out[v];if(outV){var edges=_.values(outV);if(!w){return edges}return _.filter(edges,function(edge){return edge.w===w})}};Graph.prototype.nodeEdges=function(v,w){var inEdges=this.inEdges(v,w);if(inEdges){return inEdges.concat(this.outEdges(v,w))}};function incrementOrInitEntry(map,k){if(_.has(map,k)){map[k]++}else{map[k]=1}}function decrementOrRemoveEntry(map,k){if(!--map[k]){delete map[k]}}function edgeArgsToId(isDirected,v,w,name){if(!isDirected&&v>w){var tmp=v;v=w;w=tmp}return v+EDGE_KEY_DELIM+w+EDGE_KEY_DELIM+(_.isUndefined(name)?DEFAULT_EDGE_NAME:name)}function edgeArgsToObj(isDirected,v,w,name){if(!isDirected&&v>w){var tmp=v;v=w;w=tmp}var edgeObj={v:v,w:w};if(name){edgeObj.name=name}return edgeObj}function edgeObjToId(isDirected,edgeObj){return edgeArgsToId(isDirected,edgeObj.v,edgeObj.w,edgeObj.name)}},{"./lodash":75}],73:[function(require,module,exports){module.exports={Graph:require("./graph"),version:require("./version")}},{"./graph":72,"./version":76}],74:[function(require,module,exports){var _=require("./lodash"),Graph=require("./graph");module.exports={write:write,read:read};function write(g){var json={options:{directed:g.isDirected(),multigraph:g.isMultigraph(),compound:g.isCompound()},nodes:writeNodes(g),edges:writeEdges(g)};if(!_.isUndefined(g.graph())){json.value=_.clone(g.graph())}return json}function writeNodes(g){return _.map(g.nodes(),function(v){var nodeValue=g.node(v),parent=g.parent(v),node={v:v};if(!_.isUndefined(nodeValue)){node.value=nodeValue}if(!_.isUndefined(parent)){node.parent=parent}return node})}function writeEdges(g){return _.map(g.edges(),function(e){var edgeValue=g.edge(e),edge={v:e.v,w:e.w};if(!_.isUndefined(e.name)){edge.name=e.name}if(!_.isUndefined(edgeValue)){edge.value=edgeValue}return edge})}function read(json){var g=new Graph(json.options).setGraph(json.value);_.each(json.nodes,function(entry){g.setNode(entry.v,entry.value);if(entry.parent){g.setParent(entry.v,entry.parent)}});_.each(json.edges,function(entry){g.setEdge({v:entry.v,w:entry.w,name:entry.name},entry.value)});return g}},{"./graph":72,"./lodash":75}],75:[function(require,module,exports){module.exports=require(20)},{"/Users/cpettitt/projects/dagre-d3/lib/lodash.js":20,lodash:77}],76:[function(require,module,exports){module.exports="0.9.1"},{}],77:[function(require,module,exports){(function(global){(function(){var undefined;var arrayPool=[],objectPool=[];var idCounter=0;var keyPrefix=+new Date+"";var largeArraySize=75;var maxPoolSize=40;var whitespace=" \f "+"\n\r\u2028\u2029"+" ᠎              ";var reEmptyStringLeading=/\b__p \+= '';/g,reEmptyStringMiddle=/\b(__p \+=) '' \+/g,reEmptyStringTrailing=/(__e\(.*?\)|\b__t\)) \+\n'';/g;var reEsTemplate=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;var reFlags=/\w*$/;var reFuncName=/^\s*function[ \n\r\t]+\w/;var reInterpolate=/<%=([\s\S]+?)%>/g;var reLeadingSpacesAndZeros=RegExp("^["+whitespace+"]*0+(?=.$)");var reNoMatch=/($^)/;var reThis=/\bthis\b/;var reUnescapedString=/['\n\r\t\u2028\u2029\\]/g;var contextProps=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"];var templateCounter=0;var argsClass="[object Arguments]",arrayClass="[object Array]",boolClass="[object Boolean]",dateClass="[object Date]",funcClass="[object Function]",numberClass="[object Number]",objectClass="[object Object]",regexpClass="[object RegExp]",stringClass="[object String]";var cloneableClasses={};cloneableClasses[funcClass]=false;cloneableClasses[argsClass]=cloneableClasses[arrayClass]=cloneableClasses[boolClass]=cloneableClasses[dateClass]=cloneableClasses[numberClass]=cloneableClasses[objectClass]=cloneableClasses[regexpClass]=cloneableClasses[stringClass]=true;var debounceOptions={leading:false,maxWait:0,trailing:false};var descriptor={configurable:false,enumerable:false,value:null,writable:false};var objectTypes={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false};var stringEscapes={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};var root=objectTypes[typeof window]&&window||this;var freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports;var freeModule=objectTypes[typeof module]&&module&&!module.nodeType&&module;var moduleExports=freeModule&&freeModule.exports===freeExports&&freeExports;var freeGlobal=objectTypes[typeof global]&&global;if(freeGlobal&&(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal)){root=freeGlobal}function baseIndexOf(array,value,fromIndex){var index=(fromIndex||0)-1,length=array?array.length:0;while(++index-1?0:-1:cache?0:-1}function cachePush(value){var cache=this.cache,type=typeof value;if(type=="boolean"||value==null){cache[value]=true}else{if(type!="number"&&type!="string"){type="object"}var key=type=="number"?value:keyPrefix+value,typeCache=cache[type]||(cache[type]={});if(type=="object"){(typeCache[key]||(typeCache[key]=[])).push(value)}else{typeCache[key]=true}}}function charAtCallback(value){return value.charCodeAt(0)}function compareAscending(a,b){var ac=a.criteria,bc=b.criteria,index=-1,length=ac.length;while(++indexother||typeof value=="undefined"){return 1}if(value/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:reInterpolate,variable:"",imports:{_:lodash}};function baseBind(bindData){var func=bindData[0],partialArgs=bindData[2],thisArg=bindData[4];function bound(){if(partialArgs){var args=slice(partialArgs);push.apply(args,arguments)}if(this instanceof bound){var thisBinding=baseCreate(func.prototype),result=func.apply(thisBinding,args||arguments);return isObject(result)?result:thisBinding}return func.apply(thisArg,args||arguments)}setBindData(bound,bindData);return bound}function baseClone(value,isDeep,callback,stackA,stackB){if(callback){var result=callback(value);if(typeof result!="undefined"){return result}}var isObj=isObject(value);if(isObj){var className=toString.call(value);if(!cloneableClasses[className]){return value}var ctor=ctorByClass[className];switch(className){case boolClass:case dateClass:return new ctor(+value);case numberClass:case stringClass:return new ctor(value);case regexpClass:result=ctor(value.source,reFlags.exec(value));result.lastIndex=value.lastIndex;return result}}else{return value}var isArr=isArray(value);if(isDeep){var initedStack=!stackA;stackA||(stackA=getArray());stackB||(stackB=getArray());var length=stackA.length;while(length--){if(stackA[length]==value){return stackB[length]}}result=isArr?ctor(value.length):{}}else{result=isArr?slice(value):assign({},value)}if(isArr){if(hasOwnProperty.call(value,"index")){result.index=value.index}if(hasOwnProperty.call(value,"input")){result.input=value.input}}if(!isDeep){return result}stackA.push(value);stackB.push(result);(isArr?forEach:forOwn)(value,function(objValue,key){result[key]=baseClone(objValue,isDeep,callback,stackA,stackB)});if(initedStack){releaseArray(stackA);releaseArray(stackB)}return result}function baseCreate(prototype,properties){return isObject(prototype)?nativeCreate(prototype):{}}if(!nativeCreate){baseCreate=function(){function Object(){}return function(prototype){if(isObject(prototype)){Object.prototype=prototype;var result=new Object;Object.prototype=null}return result||context.Object()}}()}function baseCreateCallback(func,thisArg,argCount){if(typeof func!="function"){return identity}if(typeof thisArg=="undefined"||!("prototype"in func)){return func}var bindData=func.__bindData__;if(typeof bindData=="undefined"){if(support.funcNames){bindData=!func.name}bindData=bindData||!support.funcDecomp;if(!bindData){var source=fnToString.call(func);if(!support.funcNames){bindData=!reFuncName.test(source)}if(!bindData){bindData=reThis.test(source);setBindData(func,bindData)}}}if(bindData===false||bindData!==true&&bindData[1]&1){return func}switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 2:return function(a,b){return func.call(thisArg,a,b)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)}}return bind(func,thisArg)}function baseCreateWrapper(bindData){var func=bindData[0],bitmask=bindData[1],partialArgs=bindData[2],partialRightArgs=bindData[3],thisArg=bindData[4],arity=bindData[5];var isBind=bitmask&1,isBindKey=bitmask&2,isCurry=bitmask&4,isCurryBound=bitmask&8,key=func;function bound(){var thisBinding=isBind?thisArg:this;if(partialArgs){var args=slice(partialArgs);push.apply(args,arguments)}if(partialRightArgs||isCurry){args||(args=slice(arguments));if(partialRightArgs){push.apply(args,partialRightArgs)}if(isCurry&&args.length=largeArraySize&&indexOf===baseIndexOf,result=[];if(isLarge){var cache=createCache(values);if(cache){indexOf=cacheIndexOf;values=cache}else{isLarge=false}}while(++index-1}})}}stackA.pop();stackB.pop();if(initedStack){releaseArray(stackA);releaseArray(stackB)}return result}function baseMerge(object,source,callback,stackA,stackB){(isArray(source)?forEach:forOwn)(source,function(source,key){var found,isArr,result=source,value=object[key];if(source&&((isArr=isArray(source))||isPlainObject(source))){var stackLength=stackA.length;while(stackLength--){if(found=stackA[stackLength]==source){value=stackB[stackLength];break}}if(!found){var isShallow;if(callback){result=callback(value,source);if(isShallow=typeof result!="undefined"){value=result}}if(!isShallow){value=isArr?isArray(value)?value:[]:isPlainObject(value)?value:{}}stackA.push(source);stackB.push(value);if(!isShallow){baseMerge(value,source,callback,stackA,stackB)}}}else{if(callback){result=callback(value,source);if(typeof result=="undefined"){result=source}}if(typeof result!="undefined"){value=result}}object[key]=value})}function baseRandom(min,max){return min+floor(nativeRandom()*(max-min+1))}function baseUniq(array,isSorted,callback){var index=-1,indexOf=getIndexOf(),length=array?array.length:0,result=[];var isLarge=!isSorted&&length>=largeArraySize&&indexOf===baseIndexOf,seen=callback||isLarge?getArray():result;if(isLarge){var cache=createCache(seen);indexOf=cacheIndexOf;seen=cache}while(++index":">",'"':""","'":"'"};var htmlUnescapes=invert(htmlEscapes);var reEscapedHtml=RegExp("("+keys(htmlUnescapes).join("|")+")","g"),reUnescapedHtml=RegExp("["+keys(htmlEscapes).join("")+"]","g");var assign=function(object,source,guard){var index,iterable=object,result=iterable;if(!iterable)return result;var args=arguments,argsIndex=0,argsLength=typeof guard=="number"?2:args.length;if(argsLength>3&&typeof args[argsLength-2]=="function"){var callback=baseCreateCallback(args[--argsLength-1],args[argsLength--],2)}else if(argsLength>2&&typeof args[argsLength-1]=="function"){callback=args[--argsLength]}while(++argsIndex3&&typeof args[length-2]=="function"){var callback=baseCreateCallback(args[--length-1],args[length--],2)}else if(length>2&&typeof args[length-1]=="function"){callback=args[--length]}var sources=slice(arguments,1,length),index=-1,stackA=getArray(),stackB=getArray();while(++index-1}else if(typeof length=="number"){result=(isString(collection)?collection.indexOf(target,fromIndex):indexOf(collection,target,fromIndex))>-1}else{forOwn(collection,function(value){if(++index>=fromIndex){return!(result=value===target)}})}return result}var countBy=createAggregator(function(result,value,key){hasOwnProperty.call(result,key)?result[key]++:result[key]=1});function every(collection,callback,thisArg){var result=true;callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if(typeof length=="number"){while(++indexresult){result=value}}}else{callback=callback==null&&isString(collection)?charAtCallback:lodash.createCallback(callback,thisArg,3);forEach(collection,function(value,index,collection){var current=callback(value,index,collection);if(current>computed){computed=current;result=value}})}return result}function min(collection,callback,thisArg){var computed=Infinity,result=computed;if(typeof callback!="function"&&thisArg&&thisArg[callback]===collection){callback=null}if(callback==null&&isArray(collection)){var index=-1,length=collection.length;while(++index=largeArraySize&&createCache(argsIndex?args[argsIndex]:seen))}}var array=args[0],index=-1,length=array?array.length:0,result=[];outer:while(++index>>1;callback(array[mid])1?arguments:arguments[0],index=-1,length=array?max(pluck(array,"length")):0,result=Array(length<0?0:length);while(++index2?createWrapper(func,17,slice(arguments,2),null,thisArg):createWrapper(func,1,null,null,thisArg)}function bindAll(object){var funcs=arguments.length>1?baseFlatten(arguments,true,false,1):functions(object),index=-1,length=funcs.length;while(++index2?createWrapper(key,19,slice(arguments,2),null,object):createWrapper(key,3,null,null,object)}function compose(){var funcs=arguments,length=funcs.length;while(length--){if(!isFunction(funcs[length])){throw new TypeError}}return function(){var args=arguments,length=funcs.length;while(length--){args=[funcs[length].apply(this,args)]}return args[0]}}function curry(func,arity){arity=typeof arity=="number"?arity:+arity||func.length;return createWrapper(func,4,null,null,null,arity)}function debounce(func,wait,options){var args,maxTimeoutId,result,stamp,thisArg,timeoutId,trailingCall,lastCalled=0,maxWait=false,trailing=true;if(!isFunction(func)){throw new TypeError}wait=nativeMax(0,wait)||0;if(options===true){var leading=true;trailing=false}else if(isObject(options)){leading=options.leading;maxWait="maxWait"in options&&(nativeMax(wait,options.maxWait)||0);trailing="trailing"in options?options.trailing:trailing}var delayed=function(){var remaining=wait-(now()-stamp);if(remaining<=0){if(maxTimeoutId){clearTimeout(maxTimeoutId)}var isCalled=trailingCall;maxTimeoutId=timeoutId=trailingCall=undefined;if(isCalled){lastCalled=now();result=func.apply(thisArg,args);if(!timeoutId&&!maxTimeoutId){args=thisArg=null}}}else{timeoutId=setTimeout(delayed,remaining)}};var maxDelayed=function(){if(timeoutId){clearTimeout(timeoutId)}maxTimeoutId=timeoutId=trailingCall=undefined;if(trailing||maxWait!==wait){lastCalled=now();result=func.apply(thisArg,args);if(!timeoutId&&!maxTimeoutId){args=thisArg=null}}};return function(){args=arguments;stamp=now();thisArg=this;trailingCall=trailing&&(timeoutId||!leading);if(maxWait===false){var leadingCall=leading&&!timeoutId}else{if(!maxTimeoutId&&!leading){lastCalled=stamp}var remaining=maxWait-(stamp-lastCalled),isCalled=remaining<=0;if(isCalled){if(maxTimeoutId){maxTimeoutId=clearTimeout(maxTimeoutId)}lastCalled=stamp;result=func.apply(thisArg,args)}else if(!maxTimeoutId){maxTimeoutId=setTimeout(maxDelayed,remaining)}}if(isCalled&&timeoutId){timeoutId=clearTimeout(timeoutId)}else if(!timeoutId&&wait!==maxWait){timeoutId=setTimeout(delayed,wait)}if(leadingCall){isCalled=true;result=func.apply(thisArg,args)}if(isCalled&&!timeoutId&&!maxTimeoutId){args=thisArg=null}return result}}function defer(func){if(!isFunction(func)){throw new TypeError}var args=slice(arguments,1);return setTimeout(function(){func.apply(undefined,args)},1)}function delay(func,wait){if(!isFunction(func)){throw new TypeError}var args=slice(arguments,2);return setTimeout(function(){func.apply(undefined,args)},wait)}function memoize(func,resolver){if(!isFunction(func)){throw new TypeError}var memoized=function(){var cache=memoized.cache,key=resolver?resolver.apply(this,arguments):keyPrefix+arguments[0];return hasOwnProperty.call(cache,key)?cache[key]:cache[key]=func.apply(this,arguments)};memoized.cache={};return memoized}function once(func){var ran,result;if(!isFunction(func)){throw new TypeError}return function(){if(ran){return result}ran=true;result=func.apply(this,arguments); func=null;return result}}function partial(func){return createWrapper(func,16,slice(arguments,1))}function partialRight(func){return createWrapper(func,32,null,slice(arguments,1))}function throttle(func,wait,options){var leading=true,trailing=true;if(!isFunction(func)){throw new TypeError}if(options===false){leading=false}else if(isObject(options)){leading="leading"in options?options.leading:leading;trailing="trailing"in options?options.trailing:trailing}debounceOptions.leading=leading;debounceOptions.maxWait=wait;debounceOptions.trailing=trailing;return debounce(func,wait,debounceOptions)}function wrap(value,wrapper){return createWrapper(wrapper,16,[value])}function constant(value){return function(){return value}}function createCallback(func,thisArg,argCount){var type=typeof func;if(func==null||type=="function"){return baseCreateCallback(func,thisArg,argCount)}if(type!="object"){return property(func)}var props=keys(func),key=props[0],a=func[key];if(props.length==1&&a===a&&!isObject(a)){return function(object){var b=object[key];return a===b&&(a!==0||1/a==1/b)}}return function(object){var length=props.length,result=false;while(length--){if(!(result=baseIsEqual(object[props[length]],func[props[length]],null,true))){break}}return result}}function escape(string){return string==null?"":String(string).replace(reUnescapedHtml,escapeHtmlChar)}function identity(value){return value}function mixin(object,source,options){var chain=true,methodNames=source&&functions(source);if(!source||!options&&!methodNames.length){if(options==null){options=source}ctor=lodashWrapper;source=object;object=lodash;methodNames=functions(source)}if(options===false){chain=false}else if(isObject(options)&&"chain"in options){chain=options.chain}var ctor=object,isFunc=isFunction(ctor);forEach(methodNames,function(methodName){var func=object[methodName]=source[methodName];if(isFunc){ctor.prototype[methodName]=function(){var chainAll=this.__chain__,value=this.__wrapped__,args=[value];push.apply(args,arguments);var result=func.apply(object,args);if(chain||chainAll){if(value===result&&isObject(result)){return this}result=new ctor(result);result.__chain__=chainAll}return result}}})}function noConflict(){context._=oldDash;return this}function noop(){}var now=isNative(now=Date.now)&&now||function(){return(new Date).getTime()};var parseInt=nativeParseInt(whitespace+"08")==8?nativeParseInt:function(value,radix){return nativeParseInt(isString(value)?value.replace(reLeadingSpacesAndZeros,""):value,radix||0)};function property(key){return function(object){return object[key]}}function random(min,max,floating){var noMin=min==null,noMax=max==null;if(floating==null){if(typeof min=="boolean"&&noMax){floating=min;min=1}else if(!noMax&&typeof max=="boolean"){floating=max;noMax=true}}if(noMin&&noMax){max=1}min=+min||0;if(noMax){max=min;min=0}else{max=+max||0}if(floating||min%1||max%1){var rand=nativeRandom();return nativeMin(min+rand*(max-min+parseFloat("1e-"+((rand+"").length-1))),max)}return baseRandom(min,max)}function result(object,key){if(object){var value=object[key];return isFunction(value)?object[key]():value}}function template(text,data,options){var settings=lodash.templateSettings;text=String(text||"");options=defaults({},options,settings);var imports=defaults({},options.imports,settings.imports),importsKeys=keys(imports),importsValues=values(imports);var isEvaluating,index=0,interpolate=options.interpolate||reNoMatch,source="__p += '";var reDelimiters=RegExp((options.escape||reNoMatch).source+"|"+interpolate.source+"|"+(interpolate===reInterpolate?reEsTemplate:reNoMatch).source+"|"+(options.evaluate||reNoMatch).source+"|$","g");text.replace(reDelimiters,function(match,escapeValue,interpolateValue,esTemplateValue,evaluateValue,offset){interpolateValue||(interpolateValue=esTemplateValue);source+=text.slice(index,offset).replace(reUnescapedString,escapeStringChar);if(escapeValue){source+="' +\n__e("+escapeValue+") +\n'"}if(evaluateValue){isEvaluating=true;source+="';\n"+evaluateValue+";\n__p += '"}if(interpolateValue){source+="' +\n((__t = ("+interpolateValue+")) == null ? '' : __t) +\n'"}index=offset+match.length;return match});source+="';\n";var variable=options.variable,hasVariable=variable;if(!hasVariable){variable="obj";source="with ("+variable+") {\n"+source+"\n}\n"}source=(isEvaluating?source.replace(reEmptyStringLeading,""):source).replace(reEmptyStringMiddle,"$1").replace(reEmptyStringTrailing,"$1;");source="function("+variable+") {\n"+(hasVariable?"":variable+" || ("+variable+" = {});\n")+"var __t, __p = '', __e = _.escape"+(isEvaluating?", __j = Array.prototype.join;\n"+"function print() { __p += __j.call(arguments, '') }\n":";\n")+source+"return __p\n}";var sourceURL="\n/*\n//# sourceURL="+(options.sourceURL||"/lodash/template/source["+templateCounter++ +"]")+"\n*/";try{var result=Function(importsKeys,"return "+source+sourceURL).apply(undefined,importsValues)}catch(e){e.source=source;throw e}if(data){return result(data)}result.source=source;return result}function times(n,callback,thisArg){n=(n=+n)>-1?n:0;var index=-1,result=Array(n);callback=baseCreateCallback(callback,thisArg,1);while(++index=0;r--){var s=t[r];"."===s?t.splice(r,1):".."===s?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}function r(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r=-1&&!s;i--){var a=i>=0?arguments[i]:t.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(n=a+"/"+n,s="/"===a.charAt(0))}return n=e(r(n.split("/"),function(t){return!!t}),!s).join("/"),(s?"/":"")+n||"."},n.normalize=function(t){var s=n.isAbsolute(t),i="/"===a(t,-1);return t=e(r(t.split("/"),function(t){return!!t}),!s).join("/"),t||s||(t="."),t&&i&&(t+="/"),(s?"/":"")+t},n.isAbsolute=function(t){return"/"===t.charAt(0)},n.join=function(){var t=Array.prototype.slice.call(arguments,0);return n.normalize(r(t,function(t){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},n.relative=function(t,e){function r(t){for(var e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=n.resolve(t).substr(1),e=n.resolve(e).substr(1);for(var s=r(t.split("/")),i=r(e.split("/")),a=Math.min(s.length,i.length),o=a,c=0;a>c;c++)if(s[c]!==i[c]){o=c;break}for(var l=[],c=o;ce&&(e=t.length+e),t.substr(e,n)}}).call(this,t("1YiZ5S"))},{"1YiZ5S":3}],3:[function(t,e){function n(){}var r=e.exports={};r.nextTick=function(){var t="undefined"!=typeof window&&window.setImmediate,e="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};if(e){var n=[];return window.addEventListener("message",function(t){var e=t.source;if((e===window||null===e)&&"process-tick"===t.data&&(t.stopPropagation(),n.length>0)){var r=n.shift();r()}},!0),function(t){n.push(t),window.postMessage("process-tick","*")}}return function(t){setTimeout(t,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.on=n,r.addListener=n,r.once=n,r.off=n,r.removeListener=n,r.removeAllListeners=n,r.emit=n,r.binding=function(){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(){throw new Error("process.chdir is not supported")}},{}],4:[function(t,e,n){(function(e){var r=t("./graphDb"),s=t("./parser/flow"),a=function(t,e){var n=Object.keys(t),s=function(t,e){var n;for(n=0;n0)for(a=0;a',c(a,r)}};n.version=function(){return"0.2.0"};var h=function(t,e){return"undefined"!=typeof e?!1:t===e};document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?h(!0,mermaid_config.startOnLoad)&&l():l()},!1),e.mermaid={init:function(){l()},version:function(){return n.version()}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./graphDb":5,"./parser/flow":6}],5:[function(t,e,n){var r,s={},i=[],a=[];n.addVertex=function(t,e,n,r){"undefined"==typeof s[t]&&(s[t]={id:t,styles:[],classes:[]}),"undefined"!=typeof e&&(s[t].text=e),"undefined"!=typeof n&&(s[t].type=n),"undefined"!=typeof n&&(s[t].type=n),"undefined"!=typeof r&&null!==r&&r.forEach(function(e){s[t].styles.push(e)})},n.addLink=function(t,e,n,r){var s={start:t,end:e,type:void 0,text:""},r=n.text;"undefined"!=typeof r&&(s.text=r),"undefined"!=typeof n&&(s.type=n.type),i.push(s)},n.updateLink=function(t,e){var n=t.substr(1);i[n].style=e},n.addClass=function(t,e){"undefined"==typeof a[t]&&(a[t]={id:t,styles:[]}),"undefined"!=typeof e&&null!==e&&e.forEach(function(e){console.log("Adding style"+e),a[t].styles.push(e)})},n.setDirection=function(t){r=t},n.setClass=function(t,e){console.log("Got id:"+t),t.indexOf(",")>0?t.split(",").forEach(function(t){"undefined"!=typeof s[t]&&s[t].classes.push(e)}):"undefined"!=typeof s[t]&&s[t].classes.push(e)},n.getDirection=function(){return r},n.getVertices=function(){return s},n.getEdges=function(){return i},n.getClasses=function(){return a},n.clear=function(){s={},a={},i=[]},n.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],6:[function(t,e,n){(function(r){var s=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[1,7],r=[2,12],s=[1,19],i=[1,20],a=[1,21],o=[1,22],c=[1,23],l=[1,24],h=[1,25],u=[1,26],f=[1,27],y=[1,28],d=[1,14],p=[1,15],g=[1,13],m=[6,9],_=[11,29,30,31,32,33,34,35,36,37,38,39,47,49,50],b=[2,7],v=[11,42,43,44,45],k=[9,11,20,22,23,24,25,26,42,43,44,45,46],x=[9,11,20,22,23,24,25,26,30,31,32,33,34,35,36,37,38,39,42,43,44,45,46],S=[9,11,20,22,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,42,43,44,45,46],w=[30,31,32,33,34,35,36,37,38,39],E=[30,31,32,33,34,35,36,37,38,39,46],A=[22,24,26,46],L=[1,87],O=[1,84],T=[1,82],I=[1,85],$=[1,83],P=[1,88],R=[1,86],D=[1,94],N=[11,33],C=[9,11,29,30,31,32,33,51,54],M={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceList:7,GRAPH:8,SPACE:9,DIR:10,SEMI:11,statement:12,verticeStatement:13,styleStatement:14,classDefStatement:15,classStatement:16,vertex:17,link:18,alphaNum:19,SQS:20,text:21,SQE:22,PS:23,PE:24,DIAMOND_START:25,DIAMOND_STOP:26,alphaNumStatement:27,alphaNumToken:28,MINUS:29,ALPHA:30,NUM:31,COLON:32,COMMA:33,PLUS:34,EQUALS:35,MULT:36,DOT:37,TAGSTART:38,TAGEND:39,linkStatement:40,arrowText:41,ARROW_POINT:42,ARROW_CIRCLE:43,ARROW_CROSS:44,ARROW_OPEN:45,PIPE:46,CLASSDEF:47,stylesOpt:48,CLASS:49,STYLE:50,HEX:51,style:52,styleComponent:53,UNIT:54,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",20:"SQS",22:"SQE",23:"PS",24:"PE",25:"DIAMOND_START",26:"DIAMOND_STOP",29:"MINUS",30:"ALPHA",31:"NUM",32:"COLON",33:"COMMA",34:"PLUS",35:"EQUALS",36:"MULT",37:"DOT",38:"TAGSTART",39:"TAGEND",42:"ARROW_POINT",43:"ARROW_CIRCLE",44:"ARROW_CROSS",45:"ARROW_OPEN",46:"PIPE",47:"CLASSDEF",49:"CLASS",50:"STYLE",51:"HEX",54:"UNIT"},productions_:[0,[3,3],[3,4],[4,4],[5,3],[5,1],[7,2],[7,1],[12,2],[12,2],[12,2],[12,2],[13,0],[13,3],[13,1],[17,4],[17,4],[17,4],[17,1],[19,1],[19,2],[27,1],[27,3],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[18,2],[18,1],[40,1],[40,1],[40,1],[40,1],[41,3],[21,3],[21,5],[21,1],[15,5],[16,5],[14,5],[14,5],[48,1],[48,3],[52,1],[52,2],[53,1],[53,1],[53,1],[53,1],[53,1],[53,1],[53,1]],performAction:function(t,e,n,r,s,i){var a=i.length-1;switch(s){case 2:this.$=i[a-3];break;case 3:r.setDirection(i[a-1]),this.$=i[a-1];break;case 13:r.addLink(i[a-2],i[a],i[a-1]),this.$="oy";break;case 14:this.$="yo";break;case 15:this.$=i[a-3],r.addVertex(i[a-3],i[a-1],"square");break;case 16:this.$=i[a-3],r.addVertex(i[a-3],i[a-1],"round");break;case 17:this.$=i[a-3],r.addVertex(i[a-3],i[a-1],"diamond");break;case 18:this.$=i[a],r.addVertex(i[a]);break;case 19:case 21:case 23:case 24:case 49:this.$=i[a];break;case 20:this.$=i[a-1]+""+i[a];break;case 22:this.$=i[a-2]+"-"+i[a];break;case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 34:case 42:this.$=i[a];break;case 33:i[a-1].text=i[a],this.$=i[a-1];break;case 35:this.$={type:"arrow"};break;case 36:this.$={type:"arrow_circle"};break;case 37:this.$={type:"arrow_cross"};break;case 38:this.$={type:"arrow_open"};break;case 39:this.$=i[a-1];break;case 40:this.$=i[a-2]+" "+i[a];break;case 41:this.$=i[a-4]+" - "+i[a];break;case 43:this.$=i[a-4],r.addClass(i[a-2],i[a]);break;case 44:this.$=i[a-4],r.setClass(i[a-2],i[a]);break;case 45:this.$=i[a-4],r.addVertex(i[a-2],void 0,void 0,i[a]);break;case 46:this.$=i[a-4],r.updateLink(i[a-2],i[a]);break;case 47:this.$=[i[a]];break;case 48:i[a-2].push(i[a]),this.$=i[a-2];break;case 50:this.$=i[a-1]+i[a];break;case 51:case 52:case 53:case 54:case 55:case 56:case 57:this.$=i[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:n,11:r,12:6,13:8,14:9,15:10,16:11,17:12,19:16,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y,47:d,49:p,50:g},{9:[1,29]},{6:[1,30],7:31,9:n},{5:32,11:r,12:6,13:8,14:9,15:10,16:11,17:12,19:16,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y,47:d,49:p,50:g},e(m,[2,5]),e(_,b,{7:33,9:n}),{11:[1,34]},{11:[1,35]},{11:[1,36]},{11:[1,37]},{11:[2,14],18:38,40:39,42:[1,40],43:[1,41],44:[1,42],45:[1,43]},{9:[1,44]},{9:[1,45]},{9:[1,46]},e(v,[2,18],{20:[1,47],23:[1,48],25:[1,49]}),e(k,[2,19],{27:17,28:18,19:50,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y}),e(x,[2,21],{29:[1,51]}),e(S,[2,23]),e(S,[2,24]),e(S,[2,25]),e(S,[2,26]),e(S,[2,27]),e(S,[2,28]),e(S,[2,29]),e(S,[2,30]),e(S,[2,31]),e(S,[2,32]),{10:[1,52]},{1:[2,1]},{11:r,12:53,13:8,14:9,15:10,16:11,17:12,19:16,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y,47:d,49:p,50:g},{6:[1,54],7:31,9:n},e(_,[2,6]),e(m,[2,8]),e(m,[2,9]),e(m,[2,10]),e(m,[2,11]),{17:55,19:16,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},e(w,[2,34],{41:56,46:[1,57]}),e(E,[2,35]),e(E,[2,36]),e(E,[2,37]),e(E,[2,38]),{19:58,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y,51:[1,59]},{19:60,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{19:61,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{19:63,21:62,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{19:63,21:64,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{19:63,21:65,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},e(k,[2,20]),{28:66,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{11:[1,67]},e(m,[2,4]),{1:[2,2]},{11:[2,13]},e(w,[2,33]),{19:63,21:68,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{9:[1,69]},{9:[1,70]},{9:[1,71]},{9:[1,72]},{22:[1,73]},e(A,[2,42],{7:75,9:[1,74]}),{24:[1,76]},{26:[1,77]},e(x,[2,22]),e([9,11,30,31,32,33,34,35,36,37,38,39,47,49,50],[2,3]),{46:[1,78]},{9:L,29:O,30:T,31:I,32:$,48:79,51:P,52:80,53:81,54:R},{9:L,29:O,30:T,31:I,32:$,48:89,51:P,52:80,53:81,54:R},{9:L,29:O,30:T,31:I,32:$,48:90,51:P,52:80,53:81,54:R},{19:91,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},e(v,[2,15]),{7:33,9:n,19:63,21:92,27:17,28:18,29:b,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{29:[1,93]},e(v,[2,16]),e(v,[2,17]),e(w,[2,39]),{11:[2,45],33:D},e(N,[2,47],{53:95,9:L,29:O,30:T,31:I,32:$,51:P,54:R}),e(C,[2,49]),e(C,[2,51]),e(C,[2,52]),e(C,[2,53]),e(C,[2,54]),e(C,[2,55]),e(C,[2,56]),e(C,[2,57]),{11:[2,46],33:D},{11:[2,43],33:D},{11:[2,44]},e(A,[2,40]),{7:96,9:n},{9:L,29:O,30:T,31:I,32:$,51:P,52:97,53:81,54:R},e(C,[2,50]),{19:63,21:98,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},e(N,[2,48],{53:95,9:L,29:O,30:T,31:I,32:$,51:P,54:R}),e(A,[2,41])],defaultActions:{30:[2,1],54:[2,2],55:[2,13],91:[2,44]},parseError:function(t,e){if(!e.recoverable)throw new Error(t);this.trace(t)},parse:function(t){function e(){var t;return t=d.lex()||f,"number"!=typeof t&&(t=n.symbols_[t]||t),t}var n=this,r=[0],s=[null],i=[],a=this.table,o="",c=0,l=0,h=0,u=2,f=1,y=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var m=d.yylloc;i.push(m);var _=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,v,k,x,S,w,E,A,L,O={};;){if(k=r[r.length-1],this.defaultActions[k]?x=this.defaultActions[k]:((null===b||"undefined"==typeof b)&&(b=e()),x=a[k]&&a[k][b]),"undefined"==typeof x||!x.length||!x[0]){var T="";L=[];for(w in a[k])this.terminals_[w]&&w>u&&L.push("'"+this.terminals_[w]+"'");T=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+L.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(c+1)+": Unexpected "+(b==f?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(T,{text:d.match,token:this.terminals_[b]||b,line:d.yylineno,loc:m,expected:L})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+b);switch(x[0]){case 1:r.push(b),s.push(d.yytext),i.push(d.yylloc),r.push(x[1]),b=null,v?(b=v,v=null):(l=d.yyleng,o=d.yytext,c=d.yylineno,m=d.yylloc,h>0&&h--);break;case 2:if(E=this.productions_[x[1]][1],O.$=s[s.length-E],O._$={first_line:i[i.length-(E||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(E||1)].first_column,last_column:i[i.length-1].last_column},_&&(O._$.range=[i[i.length-(E||1)].range[0],i[i.length-1].range[1]]),S=this.performAction.apply(O,[o,l,c,p.yy,x[1],s,i].concat(y)),"undefined"!=typeof S)return S;E&&(r=r.slice(0,-1*E*2),s=s.slice(0,-1*E),i=i.slice(0,-1*E)),r.push(this.productions_[x[1]][0]),s.push(O.$),i.push(O._$),A=a[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0}},U=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in s)this[i]=s[i];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),i=0;ie[0].length)){if(e=n,r=i,this.options.backtrack_lexer){if(t=this.test_match(n,s[i]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,s[r]),t!==!1?t:!1):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:return 50;case 1:return 47;case 2:return 49;case 3:return 8;case 4:return 10;case 5:return 10;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 51;case 11:return 31;case 12:return"BRKT";case 13:return 54;case 14:return 54;case 15:return 54;case 16:return 32;case 17:return 11;case 18:return 33;case 19:return 35;case 20:return 36;case 21:return 37;case 22:return 38;case 23:return 39;case 24:return 44;case 25:return 42;case 26:return 43;case 27:return 45;case 28:return 29;case 29:return 34;case 30:return 35;case 31:return 30;case 32:return 46;case 33:return 23;case 34:return 24;case 35:return 20;case 36:return 22;case 37:return 25;case 38:return 26;case 39:return 9;case 40:return"NEWLINE";case 41:return 6}},rules:[/^(?:style\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:#[a-f0-9]+)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?:px\b)/,/^(?:pt\b)/,/^(?:dot\b)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[a-zåäöæøA-ZÅÄÖÆØ_]+)/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:\s)/,/^(?:\n)/,/^(?:$)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],inclusive:!0}}};return t}();return M.lexer=U,t.prototype=M,M.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=s,n.Parser=s.Parser,n.parse=function(){return s.parse.apply(s,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var s=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(s)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("1YiZ5S"))},{"1YiZ5S":3,fs:1,path:2}]},{},[4]); \ No newline at end of file +!function t(e,n,r){function s(a,o){if(!n[a]){if(!e[a]){var c="function"==typeof require&&require;if(!o&&c)return c(a,!0);if(i)return i(a,!0);throw new Error("Cannot find module '"+a+"'")}var l=n[a]={exports:{}};e[a][0].call(l.exports,function(t){var n=e[a][1][t];return s(n?n:t)},l,l.exports,t,e,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a=0;r--){var s=t[r];"."===s?t.splice(r,1):".."===s?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}function r(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r=-1&&!s;i--){var a=i>=0?arguments[i]:t.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(n=a+"/"+n,s="/"===a.charAt(0))}return n=e(r(n.split("/"),function(t){return!!t}),!s).join("/"),(s?"/":"")+n||"."},n.normalize=function(t){var s=n.isAbsolute(t),i="/"===a(t,-1);return t=e(r(t.split("/"),function(t){return!!t}),!s).join("/"),t||s||(t="."),t&&i&&(t+="/"),(s?"/":"")+t},n.isAbsolute=function(t){return"/"===t.charAt(0)},n.join=function(){var t=Array.prototype.slice.call(arguments,0);return n.normalize(r(t,function(t){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},n.relative=function(t,e){function r(t){for(var e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=n.resolve(t).substr(1),e=n.resolve(e).substr(1);for(var s=r(t.split("/")),i=r(e.split("/")),a=Math.min(s.length,i.length),o=a,c=0;a>c;c++)if(s[c]!==i[c]){o=c;break}for(var l=[],c=o;ce&&(e=t.length+e),t.substr(e,n)}}).call(this,t("1YiZ5S"))},{"1YiZ5S":3}],3:[function(t,e){function n(){}var r=e.exports={};r.nextTick=function(){var t="undefined"!=typeof window&&window.setImmediate,e="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};if(e){var n=[];return window.addEventListener("message",function(t){var e=t.source;if((e===window||null===e)&&"process-tick"===t.data&&(t.stopPropagation(),n.length>0)){var r=n.shift();r()}},!0),function(t){n.push(t),window.postMessage("process-tick","*")}}return function(t){setTimeout(t,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.on=n,r.addListener=n,r.once=n,r.off=n,r.removeListener=n,r.removeAllListeners=n,r.emit=n,r.binding=function(){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(){throw new Error("process.chdir is not supported")}},{}],4:[function(t,e,n){(function(e){var r=t("./graphDb"),s=t("./parser/flow"),a=function(t,e){var n=Object.keys(t),s=function(t,e){var n;for(n=0;n0)for(a=0;a',c(s,n)}};n.version=function(){return"0.2.2"};var h=function(t,e){return"undefined"!=typeof e?!1:t===e};document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?h(!0,mermaid_config.startOnLoad)&&l():l()},!1),e.mermaid={init:function(){l()},version:function(){return n.version()}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./graphDb":5,"./parser/flow":6}],5:[function(t,e,n){var r,s={},i=[],a=[];n.addVertex=function(t,e,n,r){"undefined"==typeof s[t]&&(s[t]={id:t,styles:[],classes:[]}),"undefined"!=typeof e&&(s[t].text=e),"undefined"!=typeof n&&(s[t].type=n),"undefined"!=typeof n&&(s[t].type=n),"undefined"!=typeof r&&null!==r&&r.forEach(function(e){s[t].styles.push(e)})},n.addLink=function(t,e,n,r){var s={start:t,end:e,type:void 0,text:""},r=n.text;"undefined"!=typeof r&&(s.text=r),"undefined"!=typeof n&&(s.type=n.type),i.push(s)},n.updateLink=function(t,e){var n=t.substr(1);i[n].style=e},n.addClass=function(t,e){"undefined"==typeof a[t]&&(a[t]={id:t,styles:[]}),"undefined"!=typeof e&&null!==e&&e.forEach(function(e){a[t].styles.push(e)})},n.setDirection=function(t){r=t},n.setClass=function(t,e){t.indexOf(",")>0?t.split(",").forEach(function(t){"undefined"!=typeof s[t]&&s[t].classes.push(e)}):"undefined"!=typeof s[t]&&s[t].classes.push(e)},n.getDirection=function(){return r},n.getVertices=function(){return s},n.getEdges=function(){return i},n.getClasses=function(){return a},n.clear=function(){s={},a={},i=[]},n.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],6:[function(t,e,n){(function(r){var s=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[1,7],r=[2,12],s=[1,19],i=[1,20],a=[1,21],o=[1,22],c=[1,23],l=[1,24],h=[1,25],u=[1,26],f=[1,27],y=[1,28],d=[1,14],p=[1,15],g=[1,13],m=[6,9],_=[11,29,30,31,32,33,34,35,36,37,38,39,47,49,50],b=[2,7],k=[11,42,43,44,45],v=[9,11,20,22,23,24,25,26,42,43,44,45,46],x=[9,11,20,22,23,24,25,26,30,31,32,33,34,35,36,37,38,39,42,43,44,45,46],w=[9,11,20,22,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,42,43,44,45,46],S=[30,31,32,33,34,35,36,37,38,39],E=[30,31,32,33,34,35,36,37,38,39,46],A=[22,24,26,46],L=[1,87],O=[1,84],I=[1,82],T=[1,85],$=[1,83],P=[1,88],R=[1,86],D=[1,94],N=[11,33],C=[9,11,29,30,31,32,33,51,54],M={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceList:7,GRAPH:8,SPACE:9,DIR:10,SEMI:11,statement:12,verticeStatement:13,styleStatement:14,classDefStatement:15,classStatement:16,vertex:17,link:18,alphaNum:19,SQS:20,text:21,SQE:22,PS:23,PE:24,DIAMOND_START:25,DIAMOND_STOP:26,alphaNumStatement:27,alphaNumToken:28,MINUS:29,ALPHA:30,NUM:31,COLON:32,COMMA:33,PLUS:34,EQUALS:35,MULT:36,DOT:37,TAGSTART:38,TAGEND:39,linkStatement:40,arrowText:41,ARROW_POINT:42,ARROW_CIRCLE:43,ARROW_CROSS:44,ARROW_OPEN:45,PIPE:46,CLASSDEF:47,stylesOpt:48,CLASS:49,STYLE:50,HEX:51,style:52,styleComponent:53,UNIT:54,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",20:"SQS",22:"SQE",23:"PS",24:"PE",25:"DIAMOND_START",26:"DIAMOND_STOP",29:"MINUS",30:"ALPHA",31:"NUM",32:"COLON",33:"COMMA",34:"PLUS",35:"EQUALS",36:"MULT",37:"DOT",38:"TAGSTART",39:"TAGEND",42:"ARROW_POINT",43:"ARROW_CIRCLE",44:"ARROW_CROSS",45:"ARROW_OPEN",46:"PIPE",47:"CLASSDEF",49:"CLASS",50:"STYLE",51:"HEX",54:"UNIT"},productions_:[0,[3,3],[3,4],[4,4],[5,3],[5,1],[7,2],[7,1],[12,2],[12,2],[12,2],[12,2],[13,0],[13,3],[13,1],[17,4],[17,4],[17,4],[17,1],[19,1],[19,2],[27,1],[27,3],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[18,2],[18,1],[40,1],[40,1],[40,1],[40,1],[41,3],[21,3],[21,5],[21,1],[15,5],[16,5],[14,5],[14,5],[48,1],[48,3],[52,1],[52,2],[53,1],[53,1],[53,1],[53,1],[53,1],[53,1],[53,1]],performAction:function(t,e,n,r,s,i){var a=i.length-1;switch(s){case 2:this.$=i[a-3];break;case 3:r.setDirection(i[a-1]),this.$=i[a-1];break;case 13:r.addLink(i[a-2],i[a],i[a-1]),this.$="oy";break;case 14:this.$="yo";break;case 15:this.$=i[a-3],r.addVertex(i[a-3],i[a-1],"square");break;case 16:this.$=i[a-3],r.addVertex(i[a-3],i[a-1],"round");break;case 17:this.$=i[a-3],r.addVertex(i[a-3],i[a-1],"diamond");break;case 18:this.$=i[a],r.addVertex(i[a]);break;case 19:case 21:case 23:case 24:case 49:this.$=i[a];break;case 20:this.$=i[a-1]+""+i[a];break;case 22:this.$=i[a-2]+"-"+i[a];break;case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 34:case 42:this.$=i[a];break;case 33:i[a-1].text=i[a],this.$=i[a-1];break;case 35:this.$={type:"arrow"};break;case 36:this.$={type:"arrow_circle"};break;case 37:this.$={type:"arrow_cross"};break;case 38:this.$={type:"arrow_open"};break;case 39:this.$=i[a-1];break;case 40:this.$=i[a-2]+" "+i[a];break;case 41:this.$=i[a-4]+" - "+i[a];break;case 43:this.$=i[a-4],r.addClass(i[a-2],i[a]);break;case 44:this.$=i[a-4],r.setClass(i[a-2],i[a]);break;case 45:this.$=i[a-4],r.addVertex(i[a-2],void 0,void 0,i[a]);break;case 46:this.$=i[a-4],r.updateLink(i[a-2],i[a]);break;case 47:this.$=[i[a]];break;case 48:i[a-2].push(i[a]),this.$=i[a-2];break;case 50:this.$=i[a-1]+i[a];break;case 51:case 52:case 53:case 54:case 55:case 56:case 57:this.$=i[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:n,11:r,12:6,13:8,14:9,15:10,16:11,17:12,19:16,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y,47:d,49:p,50:g},{9:[1,29]},{6:[1,30],7:31,9:n},{5:32,11:r,12:6,13:8,14:9,15:10,16:11,17:12,19:16,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y,47:d,49:p,50:g},e(m,[2,5]),e(_,b,{7:33,9:n}),{11:[1,34]},{11:[1,35]},{11:[1,36]},{11:[1,37]},{11:[2,14],18:38,40:39,42:[1,40],43:[1,41],44:[1,42],45:[1,43]},{9:[1,44]},{9:[1,45]},{9:[1,46]},e(k,[2,18],{20:[1,47],23:[1,48],25:[1,49]}),e(v,[2,19],{27:17,28:18,19:50,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y}),e(x,[2,21],{29:[1,51]}),e(w,[2,23]),e(w,[2,24]),e(w,[2,25]),e(w,[2,26]),e(w,[2,27]),e(w,[2,28]),e(w,[2,29]),e(w,[2,30]),e(w,[2,31]),e(w,[2,32]),{10:[1,52]},{1:[2,1]},{11:r,12:53,13:8,14:9,15:10,16:11,17:12,19:16,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y,47:d,49:p,50:g},{6:[1,54],7:31,9:n},e(_,[2,6]),e(m,[2,8]),e(m,[2,9]),e(m,[2,10]),e(m,[2,11]),{17:55,19:16,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},e(S,[2,34],{41:56,46:[1,57]}),e(E,[2,35]),e(E,[2,36]),e(E,[2,37]),e(E,[2,38]),{19:58,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y,51:[1,59]},{19:60,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{19:61,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{19:63,21:62,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{19:63,21:64,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{19:63,21:65,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},e(v,[2,20]),{28:66,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{11:[1,67]},e(m,[2,4]),{1:[2,2]},{11:[2,13]},e(S,[2,33]),{19:63,21:68,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{9:[1,69]},{9:[1,70]},{9:[1,71]},{9:[1,72]},{22:[1,73]},e(A,[2,42],{7:75,9:[1,74]}),{24:[1,76]},{26:[1,77]},e(x,[2,22]),e([9,11,30,31,32,33,34,35,36,37,38,39,47,49,50],[2,3]),{46:[1,78]},{9:L,29:O,30:I,31:T,32:$,48:79,51:P,52:80,53:81,54:R},{9:L,29:O,30:I,31:T,32:$,48:89,51:P,52:80,53:81,54:R},{9:L,29:O,30:I,31:T,32:$,48:90,51:P,52:80,53:81,54:R},{19:91,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},e(k,[2,15]),{7:33,9:n,19:63,21:92,27:17,28:18,29:b,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{29:[1,93]},e(k,[2,16]),e(k,[2,17]),e(S,[2,39]),{11:[2,45],33:D},e(N,[2,47],{53:95,9:L,29:O,30:I,31:T,32:$,51:P,54:R}),e(C,[2,49]),e(C,[2,51]),e(C,[2,52]),e(C,[2,53]),e(C,[2,54]),e(C,[2,55]),e(C,[2,56]),e(C,[2,57]),{11:[2,46],33:D},{11:[2,43],33:D},{11:[2,44]},e(A,[2,40]),{7:96,9:n},{9:L,29:O,30:I,31:T,32:$,51:P,52:97,53:81,54:R},e(C,[2,50]),{19:63,21:98,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},e(N,[2,48],{53:95,9:L,29:O,30:I,31:T,32:$,51:P,54:R}),e(A,[2,41])],defaultActions:{30:[2,1],54:[2,2],55:[2,13],91:[2,44]},parseError:function(t,e){if(!e.recoverable)throw new Error(t);this.trace(t)},parse:function(t){function e(){var t;return t=d.lex()||f,"number"!=typeof t&&(t=n.symbols_[t]||t),t}var n=this,r=[0],s=[null],i=[],a=this.table,o="",c=0,l=0,h=0,u=2,f=1,y=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var m=d.yylloc;i.push(m);var _=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,k,v,x,w,S,E,A,L,O={};;){if(v=r[r.length-1],this.defaultActions[v]?x=this.defaultActions[v]:((null===b||"undefined"==typeof b)&&(b=e()),x=a[v]&&a[v][b]),"undefined"==typeof x||!x.length||!x[0]){var I="";L=[];for(S in a[v])this.terminals_[S]&&S>u&&L.push("'"+this.terminals_[S]+"'");I=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+L.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(c+1)+": Unexpected "+(b==f?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(I,{text:d.match,token:this.terminals_[b]||b,line:d.yylineno,loc:m,expected:L})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+b);switch(x[0]){case 1:r.push(b),s.push(d.yytext),i.push(d.yylloc),r.push(x[1]),b=null,k?(b=k,k=null):(l=d.yyleng,o=d.yytext,c=d.yylineno,m=d.yylloc,h>0&&h--);break;case 2:if(E=this.productions_[x[1]][1],O.$=s[s.length-E],O._$={first_line:i[i.length-(E||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(E||1)].first_column,last_column:i[i.length-1].last_column},_&&(O._$.range=[i[i.length-(E||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(O,[o,l,c,p.yy,x[1],s,i].concat(y)),"undefined"!=typeof w)return w;E&&(r=r.slice(0,-1*E*2),s=s.slice(0,-1*E),i=i.slice(0,-1*E)),r.push(this.productions_[x[1]][0]),s.push(O.$),i.push(O._$),A=a[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0}},U=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in s)this[i]=s[i];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),i=0;ie[0].length)){if(e=n,r=i,this.options.backtrack_lexer){if(t=this.test_match(n,s[i]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,s[r]),t!==!1?t:!1):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:return 50;case 1:return 47;case 2:return 49;case 3:return 8;case 4:return 10;case 5:return 10;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 51;case 11:return 31;case 12:return"BRKT";case 13:return 54;case 14:return 54;case 15:return 54;case 16:return 32;case 17:return 11;case 18:return 33;case 19:return 35;case 20:return 36;case 21:return 37;case 22:return 38;case 23:return 39;case 24:return 44;case 25:return 42;case 26:return 43;case 27:return 45;case 28:return 29;case 29:return 34;case 30:return 35;case 31:return 30;case 32:return 46;case 33:return 23;case 34:return 24;case 35:return 20;case 36:return 22;case 37:return 25;case 38:return 26;case 39:return 9;case 40:return"NEWLINE";case 41:return 6}},rules:[/^(?:style\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:#[a-f0-9]+)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?:px\b)/,/^(?:pt\b)/,/^(?:dot\b)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[a-zåäöæøA-ZÅÄÖÆØ_]+)/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:\s)/,/^(?:\n)/,/^(?:$)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],inclusive:!0}}};return t}();return M.lexer=U,t.prototype=M,M.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=s,n.Parser=s.Parser,n.parse=function(){return s.parse.apply(s,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var s=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(s)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("1YiZ5S"))},{"1YiZ5S":3,fs:1,path:2}]},{},[4]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 32715be810..220e052a0a 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -385,7 +385,7 @@ var addEdges = function (edges, g) { // Add the edge to the graph if (typeof edge.text === 'undefined') { if(typeof edge.style === 'undefined'){ - g.setEdge(edge.start, edge.end,{ arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); + g.setEdge(edge.start, edge.end,{ style: "stroke: #333; stroke-width: 1.5px;fill:none", arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); }else{ g.setEdge(edge.start, edge.end, { style: edge.style, arrowheadStyle: "fill: #333", arrowhead: aHead @@ -396,8 +396,7 @@ var addEdges = function (edges, g) { else { if(typeof edge.style === 'undefined'){ - console.log('Edge with Text no style: '+edge.text); - g.setEdge(edge.start, edge.end,{label: edge.text, arrowheadStyle: "fill: #33f", arrowhead: aHead},cnt); + g.setEdge(edge.start, edge.end,{style: "stroke: #333; stroke-width: 1.5px;fill:none", label: edge.text, arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); }else{ g.setEdge(edge.start, edge.end, { @@ -448,9 +447,6 @@ var drawChart = function (text, id) { classes.default = {id:'default'}; classes.default.styles = ['fill:#eaeaea','stroke:#666','stroke-width:1.5px']; } - - console.log(classes); - addVertices(vert, g); addEdges(edges, g); @@ -516,7 +512,6 @@ var drawChart = function (text, id) { * Go through the document and find the chart definitions in there and render the charts */ var init = function () { - console.log('Mermaid v'+exports.version()+' starting'); var arr = document.querySelectorAll('.mermaid'); var cnt = 0; @@ -543,7 +538,7 @@ var init = function () { * @returns {string} */ exports.version = function(){ - return '0.2.0'; + return '0.2.2'; } var equals = function (val, variable){ @@ -656,7 +651,6 @@ exports.addClass = function (id, style) { if (typeof style !== 'undefined') { if (style !== null) { style.forEach(function (s) { - console.log('Adding style'+s) classes[id].styles.push(s); }); } @@ -676,7 +670,6 @@ exports.setDirection = function (dir) { * @param dir */ exports.setClass = function (id,className) { - console.log('Got id:'+id); if(id.indexOf(',')>0){ id.split(',').forEach(function(id2){ if(typeof vertices[id2] !== 'undefined'){ diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 2128ac43f8..bf5fafb2b0 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -1 +1 @@ -!function t(e,n,r){function s(a,o){if(!n[a]){if(!e[a]){var c="function"==typeof require&&require;if(!o&&c)return c(a,!0);if(i)return i(a,!0);throw new Error("Cannot find module '"+a+"'")}var l=n[a]={exports:{}};e[a][0].call(l.exports,function(t){var n=e[a][1][t];return s(n?n:t)},l,l.exports,t,e,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a=0;r--){var s=t[r];"."===s?t.splice(r,1):".."===s?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}function r(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r=-1&&!s;i--){var a=i>=0?arguments[i]:t.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(n=a+"/"+n,s="/"===a.charAt(0))}return n=e(r(n.split("/"),function(t){return!!t}),!s).join("/"),(s?"/":"")+n||"."},n.normalize=function(t){var s=n.isAbsolute(t),i="/"===a(t,-1);return t=e(r(t.split("/"),function(t){return!!t}),!s).join("/"),t||s||(t="."),t&&i&&(t+="/"),(s?"/":"")+t},n.isAbsolute=function(t){return"/"===t.charAt(0)},n.join=function(){var t=Array.prototype.slice.call(arguments,0);return n.normalize(r(t,function(t){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},n.relative=function(t,e){function r(t){for(var e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=n.resolve(t).substr(1),e=n.resolve(e).substr(1);for(var s=r(t.split("/")),i=r(e.split("/")),a=Math.min(s.length,i.length),o=a,c=0;a>c;c++)if(s[c]!==i[c]){o=c;break}for(var l=[],c=o;ce&&(e=t.length+e),t.substr(e,n)}}).call(this,t("1YiZ5S"))},{"1YiZ5S":3}],3:[function(t,e){function n(){}var r=e.exports={};r.nextTick=function(){var t="undefined"!=typeof window&&window.setImmediate,e="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};if(e){var n=[];return window.addEventListener("message",function(t){var e=t.source;if((e===window||null===e)&&"process-tick"===t.data&&(t.stopPropagation(),n.length>0)){var r=n.shift();r()}},!0),function(t){n.push(t),window.postMessage("process-tick","*")}}return function(t){setTimeout(t,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.on=n,r.addListener=n,r.once=n,r.off=n,r.removeListener=n,r.removeAllListeners=n,r.emit=n,r.binding=function(){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(){throw new Error("process.chdir is not supported")}},{}],4:[function(t,e,n){(function(e){var r=t("./graphDb"),s=t("./parser/flow"),a=function(t,e){var n=Object.keys(t),s=function(t,e){var n;for(n=0;n0)for(a=0;a',c(a,r)}};n.version=function(){return"0.2.0"};var h=function(t,e){return"undefined"!=typeof e?!1:t===e};document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?h(!0,mermaid_config.startOnLoad)&&l():l()},!1),e.mermaid={init:function(){l()},version:function(){return n.version()}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./graphDb":5,"./parser/flow":6}],5:[function(t,e,n){var r,s={},i=[],a=[];n.addVertex=function(t,e,n,r){"undefined"==typeof s[t]&&(s[t]={id:t,styles:[],classes:[]}),"undefined"!=typeof e&&(s[t].text=e),"undefined"!=typeof n&&(s[t].type=n),"undefined"!=typeof n&&(s[t].type=n),"undefined"!=typeof r&&null!==r&&r.forEach(function(e){s[t].styles.push(e)})},n.addLink=function(t,e,n,r){var s={start:t,end:e,type:void 0,text:""},r=n.text;"undefined"!=typeof r&&(s.text=r),"undefined"!=typeof n&&(s.type=n.type),i.push(s)},n.updateLink=function(t,e){var n=t.substr(1);i[n].style=e},n.addClass=function(t,e){"undefined"==typeof a[t]&&(a[t]={id:t,styles:[]}),"undefined"!=typeof e&&null!==e&&e.forEach(function(e){console.log("Adding style"+e),a[t].styles.push(e)})},n.setDirection=function(t){r=t},n.setClass=function(t,e){console.log("Got id:"+t),t.indexOf(",")>0?t.split(",").forEach(function(t){"undefined"!=typeof s[t]&&s[t].classes.push(e)}):"undefined"!=typeof s[t]&&s[t].classes.push(e)},n.getDirection=function(){return r},n.getVertices=function(){return s},n.getEdges=function(){return i},n.getClasses=function(){return a},n.clear=function(){s={},a={},i=[]},n.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],6:[function(t,e,n){(function(r){var s=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[1,7],r=[2,12],s=[1,19],i=[1,20],a=[1,21],o=[1,22],c=[1,23],l=[1,24],h=[1,25],u=[1,26],f=[1,27],y=[1,28],d=[1,14],p=[1,15],g=[1,13],m=[6,9],_=[11,29,30,31,32,33,34,35,36,37,38,39,47,49,50],b=[2,7],v=[11,42,43,44,45],k=[9,11,20,22,23,24,25,26,42,43,44,45,46],x=[9,11,20,22,23,24,25,26,30,31,32,33,34,35,36,37,38,39,42,43,44,45,46],S=[9,11,20,22,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,42,43,44,45,46],w=[30,31,32,33,34,35,36,37,38,39],E=[30,31,32,33,34,35,36,37,38,39,46],A=[22,24,26,46],L=[1,87],O=[1,84],T=[1,82],I=[1,85],$=[1,83],P=[1,88],R=[1,86],D=[1,94],N=[11,33],C=[9,11,29,30,31,32,33,51,54],M={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceList:7,GRAPH:8,SPACE:9,DIR:10,SEMI:11,statement:12,verticeStatement:13,styleStatement:14,classDefStatement:15,classStatement:16,vertex:17,link:18,alphaNum:19,SQS:20,text:21,SQE:22,PS:23,PE:24,DIAMOND_START:25,DIAMOND_STOP:26,alphaNumStatement:27,alphaNumToken:28,MINUS:29,ALPHA:30,NUM:31,COLON:32,COMMA:33,PLUS:34,EQUALS:35,MULT:36,DOT:37,TAGSTART:38,TAGEND:39,linkStatement:40,arrowText:41,ARROW_POINT:42,ARROW_CIRCLE:43,ARROW_CROSS:44,ARROW_OPEN:45,PIPE:46,CLASSDEF:47,stylesOpt:48,CLASS:49,STYLE:50,HEX:51,style:52,styleComponent:53,UNIT:54,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",20:"SQS",22:"SQE",23:"PS",24:"PE",25:"DIAMOND_START",26:"DIAMOND_STOP",29:"MINUS",30:"ALPHA",31:"NUM",32:"COLON",33:"COMMA",34:"PLUS",35:"EQUALS",36:"MULT",37:"DOT",38:"TAGSTART",39:"TAGEND",42:"ARROW_POINT",43:"ARROW_CIRCLE",44:"ARROW_CROSS",45:"ARROW_OPEN",46:"PIPE",47:"CLASSDEF",49:"CLASS",50:"STYLE",51:"HEX",54:"UNIT"},productions_:[0,[3,3],[3,4],[4,4],[5,3],[5,1],[7,2],[7,1],[12,2],[12,2],[12,2],[12,2],[13,0],[13,3],[13,1],[17,4],[17,4],[17,4],[17,1],[19,1],[19,2],[27,1],[27,3],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[18,2],[18,1],[40,1],[40,1],[40,1],[40,1],[41,3],[21,3],[21,5],[21,1],[15,5],[16,5],[14,5],[14,5],[48,1],[48,3],[52,1],[52,2],[53,1],[53,1],[53,1],[53,1],[53,1],[53,1],[53,1]],performAction:function(t,e,n,r,s,i){var a=i.length-1;switch(s){case 2:this.$=i[a-3];break;case 3:r.setDirection(i[a-1]),this.$=i[a-1];break;case 13:r.addLink(i[a-2],i[a],i[a-1]),this.$="oy";break;case 14:this.$="yo";break;case 15:this.$=i[a-3],r.addVertex(i[a-3],i[a-1],"square");break;case 16:this.$=i[a-3],r.addVertex(i[a-3],i[a-1],"round");break;case 17:this.$=i[a-3],r.addVertex(i[a-3],i[a-1],"diamond");break;case 18:this.$=i[a],r.addVertex(i[a]);break;case 19:case 21:case 23:case 24:case 49:this.$=i[a];break;case 20:this.$=i[a-1]+""+i[a];break;case 22:this.$=i[a-2]+"-"+i[a];break;case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 34:case 42:this.$=i[a];break;case 33:i[a-1].text=i[a],this.$=i[a-1];break;case 35:this.$={type:"arrow"};break;case 36:this.$={type:"arrow_circle"};break;case 37:this.$={type:"arrow_cross"};break;case 38:this.$={type:"arrow_open"};break;case 39:this.$=i[a-1];break;case 40:this.$=i[a-2]+" "+i[a];break;case 41:this.$=i[a-4]+" - "+i[a];break;case 43:this.$=i[a-4],r.addClass(i[a-2],i[a]);break;case 44:this.$=i[a-4],r.setClass(i[a-2],i[a]);break;case 45:this.$=i[a-4],r.addVertex(i[a-2],void 0,void 0,i[a]);break;case 46:this.$=i[a-4],r.updateLink(i[a-2],i[a]);break;case 47:this.$=[i[a]];break;case 48:i[a-2].push(i[a]),this.$=i[a-2];break;case 50:this.$=i[a-1]+i[a];break;case 51:case 52:case 53:case 54:case 55:case 56:case 57:this.$=i[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:n,11:r,12:6,13:8,14:9,15:10,16:11,17:12,19:16,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y,47:d,49:p,50:g},{9:[1,29]},{6:[1,30],7:31,9:n},{5:32,11:r,12:6,13:8,14:9,15:10,16:11,17:12,19:16,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y,47:d,49:p,50:g},e(m,[2,5]),e(_,b,{7:33,9:n}),{11:[1,34]},{11:[1,35]},{11:[1,36]},{11:[1,37]},{11:[2,14],18:38,40:39,42:[1,40],43:[1,41],44:[1,42],45:[1,43]},{9:[1,44]},{9:[1,45]},{9:[1,46]},e(v,[2,18],{20:[1,47],23:[1,48],25:[1,49]}),e(k,[2,19],{27:17,28:18,19:50,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y}),e(x,[2,21],{29:[1,51]}),e(S,[2,23]),e(S,[2,24]),e(S,[2,25]),e(S,[2,26]),e(S,[2,27]),e(S,[2,28]),e(S,[2,29]),e(S,[2,30]),e(S,[2,31]),e(S,[2,32]),{10:[1,52]},{1:[2,1]},{11:r,12:53,13:8,14:9,15:10,16:11,17:12,19:16,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y,47:d,49:p,50:g},{6:[1,54],7:31,9:n},e(_,[2,6]),e(m,[2,8]),e(m,[2,9]),e(m,[2,10]),e(m,[2,11]),{17:55,19:16,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},e(w,[2,34],{41:56,46:[1,57]}),e(E,[2,35]),e(E,[2,36]),e(E,[2,37]),e(E,[2,38]),{19:58,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y,51:[1,59]},{19:60,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{19:61,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{19:63,21:62,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{19:63,21:64,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{19:63,21:65,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},e(k,[2,20]),{28:66,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{11:[1,67]},e(m,[2,4]),{1:[2,2]},{11:[2,13]},e(w,[2,33]),{19:63,21:68,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{9:[1,69]},{9:[1,70]},{9:[1,71]},{9:[1,72]},{22:[1,73]},e(A,[2,42],{7:75,9:[1,74]}),{24:[1,76]},{26:[1,77]},e(x,[2,22]),e([9,11,30,31,32,33,34,35,36,37,38,39,47,49,50],[2,3]),{46:[1,78]},{9:L,29:O,30:T,31:I,32:$,48:79,51:P,52:80,53:81,54:R},{9:L,29:O,30:T,31:I,32:$,48:89,51:P,52:80,53:81,54:R},{9:L,29:O,30:T,31:I,32:$,48:90,51:P,52:80,53:81,54:R},{19:91,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},e(v,[2,15]),{7:33,9:n,19:63,21:92,27:17,28:18,29:b,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{29:[1,93]},e(v,[2,16]),e(v,[2,17]),e(w,[2,39]),{11:[2,45],33:D},e(N,[2,47],{53:95,9:L,29:O,30:T,31:I,32:$,51:P,54:R}),e(C,[2,49]),e(C,[2,51]),e(C,[2,52]),e(C,[2,53]),e(C,[2,54]),e(C,[2,55]),e(C,[2,56]),e(C,[2,57]),{11:[2,46],33:D},{11:[2,43],33:D},{11:[2,44]},e(A,[2,40]),{7:96,9:n},{9:L,29:O,30:T,31:I,32:$,51:P,52:97,53:81,54:R},e(C,[2,50]),{19:63,21:98,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},e(N,[2,48],{53:95,9:L,29:O,30:T,31:I,32:$,51:P,54:R}),e(A,[2,41])],defaultActions:{30:[2,1],54:[2,2],55:[2,13],91:[2,44]},parseError:function(t,e){if(!e.recoverable)throw new Error(t);this.trace(t)},parse:function(t){function e(){var t;return t=d.lex()||f,"number"!=typeof t&&(t=n.symbols_[t]||t),t}var n=this,r=[0],s=[null],i=[],a=this.table,o="",c=0,l=0,h=0,u=2,f=1,y=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var m=d.yylloc;i.push(m);var _=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,v,k,x,S,w,E,A,L,O={};;){if(k=r[r.length-1],this.defaultActions[k]?x=this.defaultActions[k]:((null===b||"undefined"==typeof b)&&(b=e()),x=a[k]&&a[k][b]),"undefined"==typeof x||!x.length||!x[0]){var T="";L=[];for(w in a[k])this.terminals_[w]&&w>u&&L.push("'"+this.terminals_[w]+"'");T=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+L.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(c+1)+": Unexpected "+(b==f?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(T,{text:d.match,token:this.terminals_[b]||b,line:d.yylineno,loc:m,expected:L})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+b);switch(x[0]){case 1:r.push(b),s.push(d.yytext),i.push(d.yylloc),r.push(x[1]),b=null,v?(b=v,v=null):(l=d.yyleng,o=d.yytext,c=d.yylineno,m=d.yylloc,h>0&&h--);break;case 2:if(E=this.productions_[x[1]][1],O.$=s[s.length-E],O._$={first_line:i[i.length-(E||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(E||1)].first_column,last_column:i[i.length-1].last_column},_&&(O._$.range=[i[i.length-(E||1)].range[0],i[i.length-1].range[1]]),S=this.performAction.apply(O,[o,l,c,p.yy,x[1],s,i].concat(y)),"undefined"!=typeof S)return S;E&&(r=r.slice(0,-1*E*2),s=s.slice(0,-1*E),i=i.slice(0,-1*E)),r.push(this.productions_[x[1]][0]),s.push(O.$),i.push(O._$),A=a[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0}},U=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in s)this[i]=s[i];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),i=0;ie[0].length)){if(e=n,r=i,this.options.backtrack_lexer){if(t=this.test_match(n,s[i]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,s[r]),t!==!1?t:!1):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:return 50;case 1:return 47;case 2:return 49;case 3:return 8;case 4:return 10;case 5:return 10;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 51;case 11:return 31;case 12:return"BRKT";case 13:return 54;case 14:return 54;case 15:return 54;case 16:return 32;case 17:return 11;case 18:return 33;case 19:return 35;case 20:return 36;case 21:return 37;case 22:return 38;case 23:return 39;case 24:return 44;case 25:return 42;case 26:return 43;case 27:return 45;case 28:return 29;case 29:return 34;case 30:return 35;case 31:return 30;case 32:return 46;case 33:return 23;case 34:return 24;case 35:return 20;case 36:return 22;case 37:return 25;case 38:return 26;case 39:return 9;case 40:return"NEWLINE";case 41:return 6}},rules:[/^(?:style\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:#[a-f0-9]+)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?:px\b)/,/^(?:pt\b)/,/^(?:dot\b)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[a-zåäöæøA-ZÅÄÖÆØ_]+)/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:\s)/,/^(?:\n)/,/^(?:$)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],inclusive:!0}}};return t}();return M.lexer=U,t.prototype=M,M.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=s,n.Parser=s.Parser,n.parse=function(){return s.parse.apply(s,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var s=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(s)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("1YiZ5S"))},{"1YiZ5S":3,fs:1,path:2}]},{},[4]); \ No newline at end of file +!function t(e,n,r){function s(a,o){if(!n[a]){if(!e[a]){var c="function"==typeof require&&require;if(!o&&c)return c(a,!0);if(i)return i(a,!0);throw new Error("Cannot find module '"+a+"'")}var l=n[a]={exports:{}};e[a][0].call(l.exports,function(t){var n=e[a][1][t];return s(n?n:t)},l,l.exports,t,e,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a=0;r--){var s=t[r];"."===s?t.splice(r,1):".."===s?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}function r(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r=-1&&!s;i--){var a=i>=0?arguments[i]:t.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(n=a+"/"+n,s="/"===a.charAt(0))}return n=e(r(n.split("/"),function(t){return!!t}),!s).join("/"),(s?"/":"")+n||"."},n.normalize=function(t){var s=n.isAbsolute(t),i="/"===a(t,-1);return t=e(r(t.split("/"),function(t){return!!t}),!s).join("/"),t||s||(t="."),t&&i&&(t+="/"),(s?"/":"")+t},n.isAbsolute=function(t){return"/"===t.charAt(0)},n.join=function(){var t=Array.prototype.slice.call(arguments,0);return n.normalize(r(t,function(t){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},n.relative=function(t,e){function r(t){for(var e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=n.resolve(t).substr(1),e=n.resolve(e).substr(1);for(var s=r(t.split("/")),i=r(e.split("/")),a=Math.min(s.length,i.length),o=a,c=0;a>c;c++)if(s[c]!==i[c]){o=c;break}for(var l=[],c=o;ce&&(e=t.length+e),t.substr(e,n)}}).call(this,t("1YiZ5S"))},{"1YiZ5S":3}],3:[function(t,e){function n(){}var r=e.exports={};r.nextTick=function(){var t="undefined"!=typeof window&&window.setImmediate,e="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};if(e){var n=[];return window.addEventListener("message",function(t){var e=t.source;if((e===window||null===e)&&"process-tick"===t.data&&(t.stopPropagation(),n.length>0)){var r=n.shift();r()}},!0),function(t){n.push(t),window.postMessage("process-tick","*")}}return function(t){setTimeout(t,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.on=n,r.addListener=n,r.once=n,r.off=n,r.removeListener=n,r.removeAllListeners=n,r.emit=n,r.binding=function(){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(){throw new Error("process.chdir is not supported")}},{}],4:[function(t,e,n){(function(e){var r=t("./graphDb"),s=t("./parser/flow"),a=function(t,e){var n=Object.keys(t),s=function(t,e){var n;for(n=0;n0)for(a=0;a',c(s,n)}};n.version=function(){return"0.2.2"};var h=function(t,e){return"undefined"!=typeof e?!1:t===e};document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?h(!0,mermaid_config.startOnLoad)&&l():l()},!1),e.mermaid={init:function(){l()},version:function(){return n.version()}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./graphDb":5,"./parser/flow":6}],5:[function(t,e,n){var r,s={},i=[],a=[];n.addVertex=function(t,e,n,r){"undefined"==typeof s[t]&&(s[t]={id:t,styles:[],classes:[]}),"undefined"!=typeof e&&(s[t].text=e),"undefined"!=typeof n&&(s[t].type=n),"undefined"!=typeof n&&(s[t].type=n),"undefined"!=typeof r&&null!==r&&r.forEach(function(e){s[t].styles.push(e)})},n.addLink=function(t,e,n,r){var s={start:t,end:e,type:void 0,text:""},r=n.text;"undefined"!=typeof r&&(s.text=r),"undefined"!=typeof n&&(s.type=n.type),i.push(s)},n.updateLink=function(t,e){var n=t.substr(1);i[n].style=e},n.addClass=function(t,e){"undefined"==typeof a[t]&&(a[t]={id:t,styles:[]}),"undefined"!=typeof e&&null!==e&&e.forEach(function(e){a[t].styles.push(e)})},n.setDirection=function(t){r=t},n.setClass=function(t,e){t.indexOf(",")>0?t.split(",").forEach(function(t){"undefined"!=typeof s[t]&&s[t].classes.push(e)}):"undefined"!=typeof s[t]&&s[t].classes.push(e)},n.getDirection=function(){return r},n.getVertices=function(){return s},n.getEdges=function(){return i},n.getClasses=function(){return a},n.clear=function(){s={},a={},i=[]},n.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],6:[function(t,e,n){(function(r){var s=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[1,7],r=[2,12],s=[1,19],i=[1,20],a=[1,21],o=[1,22],c=[1,23],l=[1,24],h=[1,25],u=[1,26],f=[1,27],y=[1,28],d=[1,14],p=[1,15],g=[1,13],m=[6,9],_=[11,29,30,31,32,33,34,35,36,37,38,39,47,49,50],b=[2,7],k=[11,42,43,44,45],v=[9,11,20,22,23,24,25,26,42,43,44,45,46],x=[9,11,20,22,23,24,25,26,30,31,32,33,34,35,36,37,38,39,42,43,44,45,46],w=[9,11,20,22,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,42,43,44,45,46],S=[30,31,32,33,34,35,36,37,38,39],E=[30,31,32,33,34,35,36,37,38,39,46],A=[22,24,26,46],L=[1,87],O=[1,84],I=[1,82],T=[1,85],$=[1,83],P=[1,88],R=[1,86],D=[1,94],N=[11,33],C=[9,11,29,30,31,32,33,51,54],M={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceList:7,GRAPH:8,SPACE:9,DIR:10,SEMI:11,statement:12,verticeStatement:13,styleStatement:14,classDefStatement:15,classStatement:16,vertex:17,link:18,alphaNum:19,SQS:20,text:21,SQE:22,PS:23,PE:24,DIAMOND_START:25,DIAMOND_STOP:26,alphaNumStatement:27,alphaNumToken:28,MINUS:29,ALPHA:30,NUM:31,COLON:32,COMMA:33,PLUS:34,EQUALS:35,MULT:36,DOT:37,TAGSTART:38,TAGEND:39,linkStatement:40,arrowText:41,ARROW_POINT:42,ARROW_CIRCLE:43,ARROW_CROSS:44,ARROW_OPEN:45,PIPE:46,CLASSDEF:47,stylesOpt:48,CLASS:49,STYLE:50,HEX:51,style:52,styleComponent:53,UNIT:54,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",20:"SQS",22:"SQE",23:"PS",24:"PE",25:"DIAMOND_START",26:"DIAMOND_STOP",29:"MINUS",30:"ALPHA",31:"NUM",32:"COLON",33:"COMMA",34:"PLUS",35:"EQUALS",36:"MULT",37:"DOT",38:"TAGSTART",39:"TAGEND",42:"ARROW_POINT",43:"ARROW_CIRCLE",44:"ARROW_CROSS",45:"ARROW_OPEN",46:"PIPE",47:"CLASSDEF",49:"CLASS",50:"STYLE",51:"HEX",54:"UNIT"},productions_:[0,[3,3],[3,4],[4,4],[5,3],[5,1],[7,2],[7,1],[12,2],[12,2],[12,2],[12,2],[13,0],[13,3],[13,1],[17,4],[17,4],[17,4],[17,1],[19,1],[19,2],[27,1],[27,3],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[28,1],[18,2],[18,1],[40,1],[40,1],[40,1],[40,1],[41,3],[21,3],[21,5],[21,1],[15,5],[16,5],[14,5],[14,5],[48,1],[48,3],[52,1],[52,2],[53,1],[53,1],[53,1],[53,1],[53,1],[53,1],[53,1]],performAction:function(t,e,n,r,s,i){var a=i.length-1;switch(s){case 2:this.$=i[a-3];break;case 3:r.setDirection(i[a-1]),this.$=i[a-1];break;case 13:r.addLink(i[a-2],i[a],i[a-1]),this.$="oy";break;case 14:this.$="yo";break;case 15:this.$=i[a-3],r.addVertex(i[a-3],i[a-1],"square");break;case 16:this.$=i[a-3],r.addVertex(i[a-3],i[a-1],"round");break;case 17:this.$=i[a-3],r.addVertex(i[a-3],i[a-1],"diamond");break;case 18:this.$=i[a],r.addVertex(i[a]);break;case 19:case 21:case 23:case 24:case 49:this.$=i[a];break;case 20:this.$=i[a-1]+""+i[a];break;case 22:this.$=i[a-2]+"-"+i[a];break;case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 34:case 42:this.$=i[a];break;case 33:i[a-1].text=i[a],this.$=i[a-1];break;case 35:this.$={type:"arrow"};break;case 36:this.$={type:"arrow_circle"};break;case 37:this.$={type:"arrow_cross"};break;case 38:this.$={type:"arrow_open"};break;case 39:this.$=i[a-1];break;case 40:this.$=i[a-2]+" "+i[a];break;case 41:this.$=i[a-4]+" - "+i[a];break;case 43:this.$=i[a-4],r.addClass(i[a-2],i[a]);break;case 44:this.$=i[a-4],r.setClass(i[a-2],i[a]);break;case 45:this.$=i[a-4],r.addVertex(i[a-2],void 0,void 0,i[a]);break;case 46:this.$=i[a-4],r.updateLink(i[a-2],i[a]);break;case 47:this.$=[i[a]];break;case 48:i[a-2].push(i[a]),this.$=i[a-2];break;case 50:this.$=i[a-1]+i[a];break;case 51:case 52:case 53:case 54:case 55:case 56:case 57:this.$=i[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:n,11:r,12:6,13:8,14:9,15:10,16:11,17:12,19:16,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y,47:d,49:p,50:g},{9:[1,29]},{6:[1,30],7:31,9:n},{5:32,11:r,12:6,13:8,14:9,15:10,16:11,17:12,19:16,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y,47:d,49:p,50:g},e(m,[2,5]),e(_,b,{7:33,9:n}),{11:[1,34]},{11:[1,35]},{11:[1,36]},{11:[1,37]},{11:[2,14],18:38,40:39,42:[1,40],43:[1,41],44:[1,42],45:[1,43]},{9:[1,44]},{9:[1,45]},{9:[1,46]},e(k,[2,18],{20:[1,47],23:[1,48],25:[1,49]}),e(v,[2,19],{27:17,28:18,19:50,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y}),e(x,[2,21],{29:[1,51]}),e(w,[2,23]),e(w,[2,24]),e(w,[2,25]),e(w,[2,26]),e(w,[2,27]),e(w,[2,28]),e(w,[2,29]),e(w,[2,30]),e(w,[2,31]),e(w,[2,32]),{10:[1,52]},{1:[2,1]},{11:r,12:53,13:8,14:9,15:10,16:11,17:12,19:16,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y,47:d,49:p,50:g},{6:[1,54],7:31,9:n},e(_,[2,6]),e(m,[2,8]),e(m,[2,9]),e(m,[2,10]),e(m,[2,11]),{17:55,19:16,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},e(S,[2,34],{41:56,46:[1,57]}),e(E,[2,35]),e(E,[2,36]),e(E,[2,37]),e(E,[2,38]),{19:58,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y,51:[1,59]},{19:60,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{19:61,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{19:63,21:62,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{19:63,21:64,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{19:63,21:65,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},e(v,[2,20]),{28:66,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{11:[1,67]},e(m,[2,4]),{1:[2,2]},{11:[2,13]},e(S,[2,33]),{19:63,21:68,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{9:[1,69]},{9:[1,70]},{9:[1,71]},{9:[1,72]},{22:[1,73]},e(A,[2,42],{7:75,9:[1,74]}),{24:[1,76]},{26:[1,77]},e(x,[2,22]),e([9,11,30,31,32,33,34,35,36,37,38,39,47,49,50],[2,3]),{46:[1,78]},{9:L,29:O,30:I,31:T,32:$,48:79,51:P,52:80,53:81,54:R},{9:L,29:O,30:I,31:T,32:$,48:89,51:P,52:80,53:81,54:R},{9:L,29:O,30:I,31:T,32:$,48:90,51:P,52:80,53:81,54:R},{19:91,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},e(k,[2,15]),{7:33,9:n,19:63,21:92,27:17,28:18,29:b,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},{29:[1,93]},e(k,[2,16]),e(k,[2,17]),e(S,[2,39]),{11:[2,45],33:D},e(N,[2,47],{53:95,9:L,29:O,30:I,31:T,32:$,51:P,54:R}),e(C,[2,49]),e(C,[2,51]),e(C,[2,52]),e(C,[2,53]),e(C,[2,54]),e(C,[2,55]),e(C,[2,56]),e(C,[2,57]),{11:[2,46],33:D},{11:[2,43],33:D},{11:[2,44]},e(A,[2,40]),{7:96,9:n},{9:L,29:O,30:I,31:T,32:$,51:P,52:97,53:81,54:R},e(C,[2,50]),{19:63,21:98,27:17,28:18,30:s,31:i,32:a,33:o,34:c,35:l,36:h,37:u,38:f,39:y},e(N,[2,48],{53:95,9:L,29:O,30:I,31:T,32:$,51:P,54:R}),e(A,[2,41])],defaultActions:{30:[2,1],54:[2,2],55:[2,13],91:[2,44]},parseError:function(t,e){if(!e.recoverable)throw new Error(t);this.trace(t)},parse:function(t){function e(){var t;return t=d.lex()||f,"number"!=typeof t&&(t=n.symbols_[t]||t),t}var n=this,r=[0],s=[null],i=[],a=this.table,o="",c=0,l=0,h=0,u=2,f=1,y=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var m=d.yylloc;i.push(m);var _=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,k,v,x,w,S,E,A,L,O={};;){if(v=r[r.length-1],this.defaultActions[v]?x=this.defaultActions[v]:((null===b||"undefined"==typeof b)&&(b=e()),x=a[v]&&a[v][b]),"undefined"==typeof x||!x.length||!x[0]){var I="";L=[];for(S in a[v])this.terminals_[S]&&S>u&&L.push("'"+this.terminals_[S]+"'");I=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+L.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(c+1)+": Unexpected "+(b==f?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(I,{text:d.match,token:this.terminals_[b]||b,line:d.yylineno,loc:m,expected:L})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+b);switch(x[0]){case 1:r.push(b),s.push(d.yytext),i.push(d.yylloc),r.push(x[1]),b=null,k?(b=k,k=null):(l=d.yyleng,o=d.yytext,c=d.yylineno,m=d.yylloc,h>0&&h--);break;case 2:if(E=this.productions_[x[1]][1],O.$=s[s.length-E],O._$={first_line:i[i.length-(E||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(E||1)].first_column,last_column:i[i.length-1].last_column},_&&(O._$.range=[i[i.length-(E||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(O,[o,l,c,p.yy,x[1],s,i].concat(y)),"undefined"!=typeof w)return w;E&&(r=r.slice(0,-1*E*2),s=s.slice(0,-1*E),i=i.slice(0,-1*E)),r.push(this.productions_[x[1]][0]),s.push(O.$),i.push(O._$),A=a[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0}},U=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in s)this[i]=s[i];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),i=0;ie[0].length)){if(e=n,r=i,this.options.backtrack_lexer){if(t=this.test_match(n,s[i]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,s[r]),t!==!1?t:!1):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:return 50;case 1:return 47;case 2:return 49;case 3:return 8;case 4:return 10;case 5:return 10;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 51;case 11:return 31;case 12:return"BRKT";case 13:return 54;case 14:return 54;case 15:return 54;case 16:return 32;case 17:return 11;case 18:return 33;case 19:return 35;case 20:return 36;case 21:return 37;case 22:return 38;case 23:return 39;case 24:return 44;case 25:return 42;case 26:return 43;case 27:return 45;case 28:return 29;case 29:return 34;case 30:return 35;case 31:return 30;case 32:return 46;case 33:return 23;case 34:return 24;case 35:return 20;case 36:return 22;case 37:return 25;case 38:return 26;case 39:return 9;case 40:return"NEWLINE";case 41:return 6}},rules:[/^(?:style\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:#[a-f0-9]+)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?:px\b)/,/^(?:pt\b)/,/^(?:dot\b)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[a-zåäöæøA-ZÅÄÖÆØ_]+)/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:\s)/,/^(?:\n)/,/^(?:$)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],inclusive:!0}}};return t}();return M.lexer=U,t.prototype=M,M.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=s,n.Parser=s.Parser,n.parse=function(){return s.parse.apply(s,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var s=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(s)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("1YiZ5S"))},{"1YiZ5S":3,fs:1,path:2}]},{},[4]); \ No newline at end of file diff --git a/src/graphDb.js b/src/graphDb.js index ad175c997c..52cd456a5f 100644 --- a/src/graphDb.js +++ b/src/graphDb.js @@ -72,7 +72,6 @@ exports.addClass = function (id, style) { if (typeof style !== 'undefined') { if (style !== null) { style.forEach(function (s) { - console.log('Adding style'+s) classes[id].styles.push(s); }); } @@ -92,7 +91,6 @@ exports.setDirection = function (dir) { * @param dir */ exports.setClass = function (id,className) { - console.log('Got id:'+id); if(id.indexOf(',')>0){ id.split(',').forEach(function(id2){ if(typeof vertices[id2] !== 'undefined'){ diff --git a/src/main.js b/src/main.js index d2144211f4..7965f703a8 100644 --- a/src/main.js +++ b/src/main.js @@ -88,7 +88,7 @@ var addEdges = function (edges, g) { // Add the edge to the graph if (typeof edge.text === 'undefined') { if(typeof edge.style === 'undefined'){ - g.setEdge(edge.start, edge.end,{ arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); + g.setEdge(edge.start, edge.end,{ style: "stroke: #333; stroke-width: 1.5px;fill:none", arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); }else{ g.setEdge(edge.start, edge.end, { style: edge.style, arrowheadStyle: "fill: #333", arrowhead: aHead @@ -99,8 +99,7 @@ var addEdges = function (edges, g) { else { if(typeof edge.style === 'undefined'){ - console.log('Edge with Text no style: '+edge.text); - g.setEdge(edge.start, edge.end,{label: edge.text, arrowheadStyle: "fill: #33f", arrowhead: aHead},cnt); + g.setEdge(edge.start, edge.end,{style: "stroke: #333; stroke-width: 1.5px;fill:none", label: edge.text, arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); }else{ g.setEdge(edge.start, edge.end, { @@ -151,9 +150,6 @@ var drawChart = function (text, id) { classes.default = {id:'default'}; classes.default.styles = ['fill:#eaeaea','stroke:#666','stroke-width:1.5px']; } - - console.log(classes); - addVertices(vert, g); addEdges(edges, g); @@ -219,7 +215,6 @@ var drawChart = function (text, id) { * Go through the document and find the chart definitions in there and render the charts */ var init = function () { - console.log('Mermaid v'+exports.version()+' starting'); var arr = document.querySelectorAll('.mermaid'); var cnt = 0; @@ -246,7 +241,7 @@ var init = function () { * @returns {string} */ exports.version = function(){ - return '0.2.1'; + return '0.2.2'; } var equals = function (val, variable){ diff --git a/src/parser/sequence.jison b/src/parser/sequence.jison index 99988ff856..255c5f75bc 100644 --- a/src/parser/sequence.jison +++ b/src/parser/sequence.jison @@ -61,7 +61,7 @@ statement action: SQS SQE - {console.log('#a');$$='action';} + {$$='action';} ; actorDefinition: diff --git a/test/mermaid.html b/test/mermaid.html deleted file mode 100644 index 891fb69977..0000000000 --- a/test/mermaid.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - -
- graph TD; - df103do1[Start 103 == 1]; - df103do1-->df103do30[Switch 103 30]; - df103do30-->|Schedule Kvällsmeny Open|df103do70[Menu 103 70]; - df103do30-->|Schedule Kvällsmeny Closed|df103do35[Start 103 35]; - df103do35-->df103do40[Gosub 103 40]; - df103do40-->|Sub|df104do1[Start 104 1]; - df104do1-->df104do3[Phrase StängtInfoTelefontid 104 3]; - df104do3-->df104do4[Phrase StängtInfoSkadeärende 104 4]; - df104do4-->df104do5[Phrase StängtInfoOmbud 104 5]; - df104do5-->df104do6[Phrase InfoWebbplats 104 6]; - df104do6-->df104do7[Phrase TackOchVälkommenÅter 104 7]; - df104do7-->df104do8[Return 104 8]; - df104do8-->df103do50[Goto 103 50]; - df103do50-->df103do998[Start 103 998]; - df103do998-->df103do999[Drop 103 999]; - - df103do70-->|1|df103do110[Start 103 110]; - df103do110-->df103do116[Goto 103 116]; - df103do116-->df6do10[Start 6 10]; - df6do10-->df6do11[Switch 6 11]; - df6do11-->|Öppet|df6do200[Route CG route 6 200]; - - df103do70-->|2|df103do120[Start 103 120]; - df103do120-->df103do126[Goto 103 126]; - df103do126-->df6do10[Start 6 10]; - df6do10-->df6do11[Switch 6 11]; - df6do11-->|Öppet|df6do200[Route CG route 6 200]; - - df103do70-->|3|df103do130[Start 103 130]; - df103do130-->df103do136[Goto 103 136]; - df103do136-->df6do10[Start 6 10]; - df6do10-->df6do11[Switch 6 11]; - df6do11-->|Öppet|df6do200[Route CG route 6 200]; - - df103do70-->|invalid|df103do80[Goto 103 80]; - df103do80-->df103do180[Start 103 180]; - df103do180-->df103do184[Phrase MenyOkäntval 103 184]; - df103do184-->df103do186[Goto 103 186]; - df103do186-->df103do300[Start 103 300]; - df103do300-->df103do305[Counter 103 305]; - df103do70-->|timeout|df103do85[Goto 103 85]; - df103do85-->df103do300; - df103do305-->|2x|df103do310[Phrase MenyFörsökigen 103 310]; - df103do310-->df103do315[Goto 103 315]; - df103do315-->df103do65[Start 103 65]; - df103do65-->df103do70; - df103do305-->|3x|df103do325[Goto 103 325]; - df103do325-->df103do984[Start 103 984]; - df103do984-->df103do985[Gosub 103 985]; - df103do985-->|Sub|df105do1[Start 105 1]; - df105do1-->df105do3[Phrase InfoWebbplats 105 3]; - df105do3-->df105do4[Phrase TackOchVälkommenÅter 105 4]; - df105do4-->df105do8[Return 105 8]; - df105do8-->df103do990[Goto 103 990]; - df103do990-->df103do998; -
- - \ No newline at end of file diff --git a/test/web.html b/test/web.html index 8edd96f75f..f6af521002 100644 --- a/test/web.html +++ b/test/web.html @@ -2,32 +2,6 @@ - var mermaid_config = {